首先,fmt.Sprintf("%.2f")使用的是banker rounding 而不是四舍五入,banker rounding 的定义如下(来自百度百科):
1.要求保留位数的后一位如果是4,则舍去。例如5.214保留两位小数为5.21。
2.如果保留位数的后一位如果是6,则进上去。例如5.216保留两位小数为5.22。
3.如果保留位数的后一位如果是5,而且5后面不再有数,要根据应看尾数“5”的前一位决定是舍去还是进入: 如果是奇数则进入,如果是
首先,fmt.Sprintf("%.2f")使用的是banker rounding 而不是四舍五入,banker rounding 的定义如下(来自百度百科):
1.要求保留位数的后一位如果是4,则舍去。例如5.214保留两位小数为5.21。
2.如果保留位数的后一位如果是6,则进上去。例如5.216保留两位小数为5.22。
3.如果保留位数的后一位如果是5,而且5后面不再有数,要根据应看尾数“5”的前一位决定是舍去还是进入: 如果是奇数则进入,如果是