我仍然在 Vim 中遇到数字问题:
体育
let a = 1.02 | let b = '10000000' | let total = a*b | echo total --> 1.02e7
我想避免使用指数。我怎样才能有输出 10200000 ?
let a = 4000000000 | let b = '1' | let total = a+b | echo total --> -294967295
为什么这会给出错误的输出?
肿瘤坏死因子
我仍然在 Vim 中遇到数字问题:
体育
let a = 1.02 | let b = '10000000' | let total = a*b | echo total --> 1.02e7
我想避免使用指数。我怎样才能有输出 10200000 ?
let a = 4000000000 | let b = '1' | let total = a+b | echo total --> -294967295
为什么这会给出错误的输出?
肿瘤坏死因子
:echo printf("%.0f", 4000000000.0 + 1.0)
注意事项:
溢出很容易被看到
:let a = 4000000000 | echo a --> -294967296
使用printf
:
let a = 1.02 | let b = '10000000' | let total = a*b | echo printf( "%.f", total)
输出:
10200000