我想写一个程序,存储钱在一个变量, 所以我使用Bigdecimal类型,因为它被其他memebers建议在这里.. 但我想要做的是这个..用户可以输入什么都这样,他希望的意思是说,他可以输入处理钱和大十进制
24
or
24.0
or
24.00
所以你可以看到,我给用户的灵活性,在自己方便的输入。但最后变量将存储在一个数组(BigDecimal数组)中,所以当它存储时,我只想存储2个十进制的地方。为什么我这么说,如果用户输入24我想存储24.00 NOT 24或24.0 JUST 24.00或者如果他输入24.00那么这将被存储而无需对其做任何修改..如何做到这一点.. 示例代码如下所述。
BigDecimal bala;
BigDecimal balintake;
static BigDecimal[] bal= new BigDecimal[20];
Scanner sc = new Scanner(System.in);
balintake = sc.nextBigDecimal();
bala.setScale(2,RoundingMode.HALF_UP);
bal[0] = bala;
但是这不符合我的要求。
如果我理解正确的话,你更关心什么得到比获取存储显示,对不对?如果是这样,你可以控制打印过程中的精度(根据你打印的地方,也就是在控制台或某个用户界面中) – Vikdor
@Vikdor嘿,我不得不在后面的bigdecimal数组上进行搜索,采用不同的方法..所以在这一点上,我也需要做同样的事情给用户的灵活性,然后转换为2位的地方,因为这是存储在搜索中。所以一般来说,我试图使它标准化。 – JackyBoi
你不能简单地将你的值存储为整数,例如'2400'?那么你只需要担心从用户提供的可能的十进制表示形式到这个整数值的转换。 –