故意问的问题 xD 不借助库函数的意思是不借助 sprintf 这类型直接做了此事的,其他的如 round 这些函数都可以。
故意问的问题 xD 不借助库函数的意思是不借助 sprintf 这类型直接做了此事的,其他的如 round 这些函数都可以。
|
ipohSep 30, 2017
1
查一下浮点数的存储格式就行了吧
|
|
Miy4moriSep 30, 2017 via iPhone
2
抖个机灵 float + ""
|
|
CookySep 30, 2017 via Android
3
小数点分两部分转字符串
|
|
nodekeySep 30, 2017
4
四则运算+取模不是很简单的么…………
|
|
zthxxxSep 30, 2017
5
float => float + []
js 无所畏惧 |
|
tscatSep 30, 2017 via Android
6
取模。。
|
|
7
唧唧复唧唧,天天造飞机。
|
|
8
分两部分,小数点后的取整数的方法是不行的:P
|
|
9
|
|
121121121Sep 30, 2017
10
可以写,但是平时写程序也是参考很多前人的代码的,写库没有理由不参考,尽量少走弯路是王道
|
|
zmj1316Sep 30, 2017
11
写过 verilog 的表示连浮点计算都是用逻辑门写的。。。
|
|
13
浮点数存储和运算有标准的,要么跟标准做,要么自己发明一个标准。
跟标准做,写出来有什么难的? 不跟标准做,写出来又有什么意义。 不明白题主问这个问题是什么出发点。 |
|
yangffSep 30, 2017
16
v8 用的 Grisu 算法
glibc 大概是 Dragon4 |
|
yangffSep 30, 2017
17
虽然浮点转字符不是很难的事情……
但是也没有一些人想的这么简单啦……( |
|
kunjinkaoSep 30, 2017
18
算出每一位,然后 int 转 char
|
|
pezySep 30, 2017
19
写出来不算太难,但写快就比较难了,可以参考 https://github.com/miloyip/dtoa-benchmark#results 的结果,看看 https://github.com/miloyip/dtoa-benchmark/blob/master/src/milo/dtoa_milo.h 是怎么写的。
|
|
CEBBCATOct 1, 2017 via Android
20
这是开启了假期模式了吗?呜啦啦啦啦
|
|
xieranmayaOct 1, 2017
21
这明显是个大坑,具体看你想实现到多完善了,说个简单的,比如说 0.1+0.2 并不是精确存储的 0.3
现在你拿到这个数了,那你是转出“ 0.3 ”呢还是转出“ 0.30000000000000004 ”呢? 你又是如何决定转出哪一个呢? |
|
noliOct 1, 2017 via iPhone
22
|
|
ysc3839Oct 1, 2017 via Android
23
我不行……前几天看过 itoa 和 itof 的代码,后者比前者复杂多了。
|