Watson助手:将双倍值舍入到2位小数

时间:2018-05-09 20:22:16

标签: ibm-cloud watson-conversation watson-assistant

我的Watson Assistant中有一个对话节点,它接受用户提供的数字,然后提供一个响应,其中包含在某个部门中使用的数字:

<? (1000 * ($Number / 6.00)) ?> Grams

问题是这会返回如下消息:(考虑到数字是2)

333.3333333333333 Grams

从6.00中删除.00会导致:

0 Grams

我有什么办法可以绕过分裂的结果吗?理想情况下,我想将其四舍五入到最接近的十的倍数,但将其四舍五入到小数点后2位也是可以接受的。 我希望得到这样的最终消息:

333.33 Grams

1 个答案:

答案 0 :(得分:0)

您可以使用ava.lang.Math提供的round() methods之一。 Watson Assistant allows those methods in the input processing。根据您需要的分数,您需要“按摩”数字。 float和double有round()方法。您可以先应用toDouble()以确保正确处理该数字。

请注意,对how to perform exact and efficient rounding in Java进行了讨论。