ViSiToR
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору VitAlll2013 12:44 18-05-2009 Цитата: Я пытался таким образом определить кол-во знаков после запятой или точки | Это проще сделать через StringRegExpReplace... Код: Func lenght_analiz($len_a) $result = StringLen(StringRegExpReplace($len_a, "^.*\.(.*)$", "\1")) MsgBox(4096, "Test", "Kol-vo znakov posle zapjatoj (tochki): " & $result) Exit EndFunc | А что касается проблемы с цифрами, то для этого тоже используем Round: Код: #include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form2 = GUICreate("primer", 149, 132, 303, 219) $Button1 = GUICtrlCreateButton("Calc", 24, 24, 97, 57, 0) $input = GUICtrlCreateInput("2.082", 24, 96, 97, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Button1 $target = GUICtrlRead($input) lenght_analiz($target) Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func lenght_analiz($len_a) MsgBox(4096, "step 1", "Nachinaem rabotat s chislom: " & $len_a) $ostatok_1 = Round($len_a) MsgBox(4096, "step 2", "Okruglili do celogo, poluchili: " & $ostatok_1) $ostatok_2 = Round($len_a - $ostatok_1, 9) ;только это изменилось MsgBox(4096, "step 3", "Vichli iz nachalnogo okrugjennuju chast, poluchili: " & $ostatok_2) $ostatok_3 = StringTrimLeft($ostatok_2, 2) MsgBox(4096, "step 4", "Otkusili sleva 2 znaka, poluchili: " & $ostatok_3) $result = StringLen($ostatok_3) MsgBox(4096, "Test", "Kol-vo znakov posle zapjatoj (tochki): " & $result) Exit EndFunc |
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
|