[英]How to round a number in a String to nearest million
我想在 Java 中將 String 中的數字四舍五入到最接近的百萬。 字符串名稱值362073133410.28625
。 我需要輸出$362,073
此數據362073133410.28625
來自數據庫,價值$362,073
是 UI 價值。
// Database query to get value
ResultSet rs = stmt.executeQuery(query);
while (rs.next()){
String mytotal = rs.getString(1);
System.out.println(mytotal);
// Convert String to float
float result = Float.parseFloat(mytotal);
System.out.println(result+ " convert valueOf to int");
// round of to million
System.out.println(Math.round(result)+" Result 1");}
輸出
362073133410.28625
3.62073129E11 convert valueOf to int
2147483647 Result 1
EXPECT 結果應該是362,073
您可以將 bigdecimal 用於您的目的。 以下是解決您的問題的方法:
String mytotal = "362073133410.28625";
System.out.println(mytotal);
// Convert String to float
BigDecimal result = new BigDecimal(mytotal);
System.out.println(result+ " convert valueOf to int");
// round of to million
System.out.println(result.divide(new BigDecimal("1000000")).setScale(0, RoundingMode.HALF_UP)+" Result 1");
// System.out.println(result.divide(new BigDecimal("1000000000")).setScale(3, RoundingMode.HALF_UP)+" Result 1");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.