【发布时间】:2021-06-23 08:57:17
【问题描述】:
有什么方法可以限制用户输入的小数点?我正在制作一个基本的计算器,但我希望输入为十进制,所以我将数据类型设置为浮点数。但我也想限制我的小数点不超过 6 个小数位。如果输入超过 6 位小数,我还想向用户发送一条消息,并允许它通过循环再次输入。我该怎么做?
【问题讨论】:
-
使用
BigDecimal。它具有允许您控制比例的方法。
标签: java decimal calculator
有什么方法可以限制用户输入的小数点?我正在制作一个基本的计算器,但我希望输入为十进制,所以我将数据类型设置为浮点数。但我也想限制我的小数点不超过 6 个小数位。如果输入超过 6 位小数,我还想向用户发送一条消息,并允许它通过循环再次输入。我该怎么做?
【问题讨论】:
BigDecimal。它具有允许您控制比例的方法。
标签: java decimal calculator
正如 cmets 中提到的那样,BigDecimal 可以在这里提供帮助。
BigDecimal::scale()
返回此 BigDecimal 的小数位数。如果为零或正数,则刻度 是小数点右边的位数。如果 负数,数字的未缩放值乘以 10 到 规模否定的力量。例如,-3 表示 未缩放的值乘以 1000。
所以你可以这样做:
var number = BigDecimal(userInput);
var scale = nubmer.scale();
if (scale > MAXIMUM_SCALE){
// display error message and ask for new input
}
如果您只想将输入限制为不超过 5 个小数位:
var number = BigDecimal(userInput).setScale(6);
【讨论】:
setScale(6) 也可能有帮助。
var。
var,它可以是BigDecimal number 和BigDecimal scale