Вызываем функцию:dec2bin("1234.456")Код:function dec2bin(decstring)'предполагается, что decstring уже сформирована как строка, содержащая только арабский цифры, знаки "," , "."tmp=isnumeric(decstring)decstring=val (decstring)' здесь получаем правильное десятичное представление строки =1234,456decstring=str(decstring) ' чтобы убрать возможные пробелыpoint_pos=instr(decstring,".")' первый способ выделить целую и дробную части. intpart=val(decstring) \1 'получаем правильное значение 1234drobpart=val(decstring)-decstring ' А вот здесь fail! получаем значение 0,455999999999904 !!!!'Что получаем? intpart, как и должно быть получаем равным 1234, а drobpart получаем равной 0,455999999999904'Поэтому приходится идти через задницу'intpart=cdbl(mid(decstring,1,poi nt_pos-1)drobpart=mid(decstring,point_pos,len(d ecstring)drobpart=val(drobpart)a=""For i=len(decstring) to 1 step -1if i
|