Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- negative
- $before = 0.00002001 * 2 / 2
- $after = __num64tostr($before)
- MsgBox(0, "before: " & $before, "after: " & $after)
- ; positive
- $before = 59584773894018382 * 2 / 2
- $after = __num64tostr($before)
- MsgBox(0, "before: " & $before, "after: " & $after)
- Func __num64tostr($dec)
- If StringRegExp($dec, "e") = False Then Return $dec
- Local $split = StringSplit($dec, "e", 1), $struct
- If StringLeft($split[2], 1) = "-" Then
- $struct = DllStructCreate("float;")
- $split[2] = StringTrimLeft($split[2], 1)
- DllStructSetData($struct, 1, Number($split[1]) * (10^Number($split[2])))
- Return "0." & DllStructGetData($struct, 1)
- Else
- $struct = DllStructCreate("int64;")
- DllStructSetData($struct, 1, Number($split[1]) * (10^Number($split[2])))
- Return DllStructGetData($struct, 1)
- EndIf
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement