You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BigDecimal开发货币转换器:如何通过Scanner获取BigDecimal类型金额?

如何用Scanner直接获取BigDecimal类型的金额输入?
  • 绝对别用double转BigDecimal!double是浮点数,存在精度丢失问题(比如0.1在double里并非精确值),货币计算要求绝对精确,用这种方式会导致计算误差,完全不可取。

  • 最简单直接的方法是用Scanner自带的nextBigDecimal()方法,它能直接将用户输入的数值解析为BigDecimal类型,完美规避精度问题,代码示例:

import java.math.BigDecimal;
import java.util.Scanner;

public class CurrencyConverter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入待转换的金额:");
        BigDecimal userInput = scanner.nextBigDecimal();
        // 这里编写你的货币转换逻辑
        scanner.close();
    }
}
  • 注意事项:用户输入的格式要符合BigDecimal的解析要求,比如整数(如100)、带小数的数值(如100.50)都可以,货币场景下建议提示用户输入标准的金额格式。

内容的提问来源于stack exchange,提问作者Andrew Sadler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:35:22