亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在沒有不必要的小數0的情況下很好地格式化浮點數為字符串?

如何在沒有不必要的小數0的情況下很好地格式化浮點數為字符串?

如何在沒有不必要的小數0的情況下很好地格式化浮點數為字符串?64位雙倍可以表示整數+/-2。53一點兒沒錯考慮到這個事實,我選擇對所有類型使用雙類型作為單一類型,因為我的最大整數是無符號32位。但是現在我必須打印這些偽整數,但問題是它們也和實際的雙數混合在一起。那么,如何在Java中很好地打印這些雙打呢?我試過了String.format("%f", value),這是接近的,除了我得到很多尾隨零的小值。的示例輸出%f232.00000000 0.18000000000 1237875192.0 4.5800000000 0.00000000 1.23450000我想要的是:232 0.18 1237875192 4.58 0 1.2345當然,我可以編寫一個函數來修剪那些零,但這是由于字符串操作而導致的大量性能損失。我能用另一個格式代碼做得更好嗎?編輯湯姆E.和杰里米S.的答案是不可接受的,因為他們都武斷地把數字圈到小數點2位回答前請先理解問題。編輯2請注意String.format(format, args...)是區域依賴性(見下文答復)。
查看完整描述

3 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

如果這樣做的目的是打印存儲為雙倍的整數,就像它們是整數一樣,然后以最小的必要精度打印雙數:


public static String fmt(double d)

{

    if(d == (long) d)

        return String.format("%d",(long)d);

    else

        return String.format("%s",d);

}

生產:


232

0.18

1237875192

4.58

0

1.2345

并且不依賴于字符串操作。


查看完整回答
反對 回復 2019-06-10
?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

String.format("%.2f", value) ;


查看完整回答
反對 回復 2019-06-10
  • 3 回答
  • 0 關注
  • 658 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號