"round 后强制保留两位小数如何实现?比如数据为 1.50,对于系统来说这个 0 直接就会被丢弃,但是在某些大屏业务上就需要保留,这种情况下,如何实现这个 0 也保留呢!"
round 后强制保留两位小数如何实现?比如数据为 1.50,对于系统来说这个 0 直接就会被丢弃,但是在某些大屏业务上就需要保留,这种情况下,如何实现这个 0 也保留呢!
您说的强制保留两位小数具体是什么样的情况呢比如数据是一位小数或者整数,通过 round 计算后,返回的结果想要是两位小数吗例如 round(1.5,2), 想要结果返回 1.50 ?
对,如果是 1.5 的话,让他显示为 1.50
显示是用 format 或者 string。数值上 1.5 和 1.50 没有区别
可以通过 =string(round(1.5,2),“#0.00”) 这样的方式对结果值格式化显示
大佬,请问:
1、string 函数是不是直接 string(num,“.00”) 就可以了?此时的 num 并没有类型的限制。
如果用 format 函数强制显示两位小数,需要先把 num 参数转换成 float,比如 format(“%.2f”,num+0.0)
此时 format 中的 num 如果是整数,format 就报错了,比如 format(“%.2f”,10) 这样会报错。
2、SPL 里没有 double 类型的吧?比如,10D、10F、float(10)、10+0.0 这些类型都是 float,而 double(10) 是不存在的。
集算器的数字类型 float 对应的 java 类型是 double(64 位),集算器计算过程不使用 32 位的浮点数。string(value,format) 如果 value 是数字(整数、长整数、浮点数、BigDecimal),结果想保留两位小数,format 可以是 "#0.00"。format 的写法可以参照 java 联机帮助文档里的 DecimalFormat 类,里面有对格式的介绍。format(format,value) 函数使用 java 的 String.format 来实现的,"%.2f" 这个格式里的 f 只接受浮点类型的数,整数会报错,具体可以参照 java 的帮助文档。
懂了,谢谢大佬🙏 🙏
您说的强制保留两位小数具体是什么样的情况呢
比如数据是一位小数或者整数,通过 round 计算后,返回的结果想要是两位小数吗
例如 round(1.5,2), 想要结果返回 1.50 ?
对,如果是 1.5 的话,让他显示为 1.50
显示是用 format 或者 string。数值上 1.5 和 1.50 没有区别
可以通过 =string(round(1.5,2),“#0.00”) 这样的方式对结果值格式化显示
大佬,请问:
1、string 函数是不是直接 string(num,“.00”) 就可以了?此时的 num 并没有类型的限制。
如果用 format 函数强制显示两位小数,需要先把 num 参数转换成 float,比如 format(“%.2f”,num+0.0)
此时 format 中的 num 如果是整数,format 就报错了,比如 format(“%.2f”,10) 这样会报错。
2、SPL 里没有 double 类型的吧?比如,10D、10F、float(10)、10+0.0 这些类型都是 float,而 double(10) 是不存在的。
集算器的数字类型 float 对应的 java 类型是 double(64 位),集算器计算过程不使用 32 位的浮点数。
string(value,format) 如果 value 是数字(整数、长整数、浮点数、BigDecimal),结果想保留两位小数,format 可以是 "#0.00"。format 的写法可以参照 java 联机帮助文档里的 DecimalFormat 类,里面有对格式的介绍。
format(format,value) 函数使用 java 的 String.format 来实现的,"%.2f" 这个格式里的 f 只接受浮点类型的数,整数会报错,具体可以参照 java 的帮助文档。
懂了,谢谢大佬🙏 🙏