AZJIO
![](http://forum.ru-board.com/board/avatars/private/AZJIO.gif)
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору madmasles теперь вопрос встал как получить результат с мантисой и экспонентой, а не полной строкой, которая не влазиет в инпут. Попробовал сделать вывод числа с мантисой, с двумя функциями обратной конвертации Код: If StringLen($rech)>20 And Not(StringInStr($rech, 'e+') Or StringInStr($rech, 'e-')) Then If StringLen(Int($rech))>20 Then $r1 = StringMid($rech, 1, 1) $exp=StringLen(Int($rech))-1 If StringLen($exp)<3 Then $exp='0'&$exp If StringLen($exp)<3 Then $exp='0'&$exp $rech=$r1&'.'&StringTrimLeft(StringTrimRight(Int($rech),5),1)&'e+'$exp Else If StringMid($rech, 1, 1)<>0 Then $Npt = StringInStr($rech, '.') $rech= Round($rech, 20-$Npt) Else $aRech1=StringRegExp($rech, '(0\.)(0*)(\d+)',3) $exp=StringLen($aRech1[1])+1 $r1 = StringMid($aRech1[2], 1, 1) $rech=$r1&'.'&StringTrimLeft($aRech1[2],1) $rech= Round($rech, 15)&'e-'&$exp EndIf EndIf EndIf Func _ConvNumP($num) $exp='1' $aRech1=StringSplit($num, '+') For $i = 1 to Execute($aRech1[2]) $exp&='0' Next $num = _BigNum_Mul(StringTrimRight($aRech1[1],1), $exp) Return $num EndFunc Func _ConvNumM($num) $exp='1' $aRech1=StringSplit($num, '-') For $i = 1 to $aRech1[2] $exp&='0' Next $num = _BigNum_Div(StringTrimRight($aRech1[1],1), $exp,'200') Return $num EndFunc | BigNum.au3 не воспринимает запись с мантисой и экспонентой, пришлось делать обратную конвертацию. | Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 12:12 28-07-2010 | Исправлено: AZJIO, 16:59 29-07-2010 |
|