Почему неверно работает сравнение чисел ,полученных из окна Input ( Edit , из файла ) .
Похоже это связано с форматом представления чисел
Пример :
При сравнении получается : 3.5 > 25.5 ???
Тогда , как : 2.5 < 25.5 !!!
Правильный результат похоже получается если предварительно
округлить числа с помощью ф-ии : Round
Как корректно сравнивать числа в этих случаях ?
Похоже это связано с форматом представления чисел
Пример :
Код:
#include <StaticConstants.au3>
$hGUI = GuiCreate('Test ReadInput',300, 200)
$hInput=GUICtrlCreateInput("25.5",100,10,85,'',$SS_CENTER)
$hInput1=GUICtrlCreateInput("3.5",10,10,85,'',$SS_CENTER)
$btSet1=GUICtrlCreateButton('--',10,40,30,20)
$btSet2=GUICtrlCreateButton('+',10,60,30,20)
$btShow=GUICtrlCreateButton('Show ',10,100,30,20)
GUISetState ()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $btSet1
GUICtrlSetData ($hInput1,GUICtrlRead($hInput1)-1)
Case $btSet2
GUICtrlSetData ($hInput1,GUICtrlRead($hInput1)+1)
Case $btShow
$p=GUICtrlRead($hInput)
;$p=Round ($p,1)
$p1=GUICtrlRead($hInput1)
;$p1=Round ($p1,1)
If $p1 < $p Then
MsgBox(0,'',$p1 & ' < ' & $p,1)
Else
MsgBox(0,'',$p1 & ' > ' & $p,1)
EndIf
EndSwitch
Wend
При сравнении получается : 3.5 > 25.5 ???
Тогда , как : 2.5 < 25.5 !!!
Правильный результат похоже получается если предварительно
округлить числа с помощью ф-ии : Round
Как корректно сравнивать числа в этих случаях ?