sql >> データベース >  >> RDS >> Oracle

数値(22,21)をBigDecimalにマッピングすると、結果の精度が休止状態で失われます

    これは、BigDecimalを初期化した結果です。 doubleから :

    System.out.println(String.format("%21.20f", new BigDecimal(0.493)); 
    // Prints 0,49299999999999999378  
    

    したがって、BigDecimal この方法で初期化するとデータベースに保存され、不正確な値が生成され、後で正しくロードされます。

    BigDecimalの場合 文字列で初期化されるか、値がJavaで直接設定されている場合は、すべて正常に機能します。



    1. MariaDBでテーブルを表示する

    2. MySQLで2つのテーブルをマージするにはどうすればよいですか?テーブル1がプライマリです

    3. PHPフォームをデータベースにリンクする

    4. MySQLによると:ドキュメント#1045-ユーザー'root' @'localhost'のアクセスが拒否されました(パスワードを使用:NO)