这是我的简化代码
public void compute{
Scanner scan = new Scanner(System.in);
double BUY=0;
double RATE, AMOUNT;
System.out.println("Enter Rate: ");
RATE = scan.nextDouble();
System.out.println("Enter Amount: ");
AMOUNT = scan.nextDouble();
BUY = (RATE*AMOUNT)+BUY;
}
基本上,我希望变量BUY四舍五入,并具有与可变利率相同的小数位数,但利率可以具有不同的小数位数,这取决于用户输入的内容,因此利率的小数位数需要不断变化
例如,用户输入
速率=52.38//2位小数
金额=45.53
如果我们购买=(利率*金额)购买
BUY will be BUY=2384.8614//有4个小数点,但应该是2 like RATE,而且还知道double,它可能会显示大约15个小数点
如果用户要重试并输入
速率=65.879//3位小数
购买也应该有3位小数
我如何使购买适应小数位数的汇率
好吧,问题仍然不清楚您是否要舍入或打印到小数点后几位,就像速率一样。但这里有一个解决方案,它将显示与速率相同的位数:
Scanner scan = new Scanner(System.in);
double BUY = 0;
double RATE, AMOUNT;
System.out.println("Enter Rate: ");
RATE = scan.nextDouble();
int newScale=String.valueOf(RATE).split("[.]")[1].length(); //extract total number of digits
System.out.println("Enter Amount: ");
AMOUNT = scan.nextDouble();
BUY = (RATE * AMOUNT) + BUY;
System.out.println(BUY%2);
System.out.println(new
BigDecimal(BUY).setScale(newScale,RoundingMode.HALF_EVEN)); // display BUY value with exactly same number of digits as that of RATE
在这里,我从RATE
中提取总位数
我在C#中尝试了这一点,结果是正确的。
我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入
为什么四舍五入到 1 位的数字仍然写入具有许多位数的 Excel。 例如: 尽管我在写<code>myvar</code>,它已四舍五入到单元格A1的一位数字,尽管单元格显示4567.2,但单击单元格会显示整个值,所有数字位于公式栏尾数右侧。 我应该期待这种行为吗?
问题内容: 如何将matchpercent的结果四舍五入到小数点后两位(%)?我正在使用以下方法返回一些结果: 问题答案: 转换/转换结果: …这里的数字足够大,不能截断小数点左边。也就是说,如果使用“ 123.456”,则由于总长度为7位,因此需要使用DECIMAL(7,2)。
我对java相当陌生,我必须创建这个程序,我不知道从哪里开始。有人能帮我做什么,以及如何写代码开始吗? 编写一个模拟收银机的程序。提示用户输入三件商品的价格。将它们相加以获得小计。确定小计的税额(6%)。查找销售小计加税额的总额。显示每件商品的价格、小计金额、税额和最终金额。 到目前为止,我有这个: 输出(如果价格为price1=1.65,price2=2.82和price3=9.08美元)如下所
我想设置一个 excel 工作表,该工作表将根据输入的值的范围将值四舍五入到不同的小数位。我尝试使用不同的公式,但没有运气。该图显示了要求。是否可以使用嵌套 if 来实现它?或者我需要VB脚本或类似脚本吗?有人能给我一个iIF公式的例子,我至少可以用于两个范围,然后我可以为其余的范围设置它。