
1 syuraking Apr 4, 2021 讲个我同事说的笑话:把 BTC 这种长小数,全部乘以 10 的 n 次方当整数保存,显示时,再除回去……dog |
2 redtea Apr 4, 2021 decimal(65,30) |
3 DTCPSS Apr 4, 2021 字符串(逃 |
4 lly0514 Apr 4, 2021 以聪为单位就可以了,就是个大整数 |
5 40EaE5uJO3Xt1VVa Apr 4, 2021 歪个楼。之前存 IP 地址,带着.不好转换,就把 ip 转成十进制,你用电脑执行 ping 2130706433 看看效果。 相邻 IP 地址转成的十进制数,也是相邻的 |
6 mckelvin Apr 4, 2021 它不是浮点数,因为位数有限,最小单位叫 satoshi. > A satoshi is the smallest unit of a bitcoin, equivalent to 100 millionth of a bitcoin. 1 BTC = 100000000 satoshi |
7 mxT52CRuqR6o5 Apr 4, 2021 定点数啊 |
8 moen Apr 4, 2021 写过智能合约都会知道,存的都是个大整数。在 pg 里可以直接用 numeric 存经过位数转换的数值,graph-node 就是这样做的 |
9 nightwitch Apr 4, 2021 比特币有最小单位啊。有最小单位的数据直接用大整数就行了。 |
10 DogeElon Apr 4, 2021 via iPhone 大整数+decimal |
11 cucldk Apr 4, 2021 涉及人民币的货币系统里,都是存的以“分”为单位的整数,目的是为了避免精度问题,BTC 同理 |
12 LGA1150 Apr 4, 2021 via Android @yanzhiling2001 因为 IPv4 地址就是个 uint32 |
13 namelosw Apr 4, 2021 1. 聪 = 1 2. 大整数 |
14 cherryas Apr 4, 2021 bigint |
16 ysc3839 Apr 5, 2021 via Android 想说明一下,小数不完全等于浮点数,浮点数只是存储小数的一种方式。前面提到的“乘以 10 的多少次方用整数存”,其实是“定点数”,因为这种存储方式的小数点是固定的。 |
17 lc7029 Apr 5, 2021 varchar,当文本存 |
20 Flymachine Apr 6, 2021 浮点数本身就不精准,金融业一直是用大整数去存带小数的数值。原生 JS 由于浮点数的精度问题,遇到带小数的数值运算一般也是转成大整数再算的 |
21 Flymachine Apr 6, 2021 也就是自己写一套高精度运算方法代替原生 JS 的浮点数运算 |
23 ychost Apr 20, 2021 decimal.js |