簡體   English   中英

如何將字符串中的數字四舍五入到最接近的百萬

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM