在json输出的时候,当double类型的数值过大或者过小的时候,往会在内部被强制转化为科学计数法形式输出,如果不需要科学计数法,则可以通过使用BigDecimal类来表示double类型,代码如下:
Java版本:
import com.alibaba.fastjson.JSONObject;
import java.math.BigDecimal;
/**
* Created by zhoujm on 2020/4/1.
*/
public class TestJson {
pu
今天在自己做的系统中,发现了一个奇怪的现象:几个Double类型的数据相加,到最后得出的金额比正确数值总是少了几毛钱。以为是程序里的计算方法有问题,可是排查了很多地方,始终没有找到问题出在哪里。最后干脆把计算方法一句一句拆分,得到了最后最简单的一步,就是把两个具体的数值相加,但是最后的结果居然还是错误的。比如,现在已经到了最简单的一步: 代码如下:double n = 171.6;double m = 28.17;double k = n + m; 按理说k的值应该是199.77,但其实得到的