Java 字符串轉(zhuǎn)float運算 float轉(zhuǎn)字符串的方法
需求:字符串(字符串只有一位小數(shù))轉(zhuǎn)float進行運算, 將結(jié)果轉(zhuǎn)成字符串(保留一位小數(shù))
直接上代碼:
float f1 = 0.1f; String a1 ="1.5"; System.out.println(Float.parseFloat(a1)+f1);
答案:1.6
float f1 = 0.1f; String a1 ="1.6"; System.out.println(Float.parseFloat(a1)+f1);
答案:1.7
說實話,一開始我覺得代碼好像沒有問題,字符串從0.1開始試了好多,結(jié)果都是對的。
然而,當(dāng)a1=“1.7”的時候,問題出現(xiàn)了,輸出結(jié)果:1.8000001
嗯?是轉(zhuǎn)換方法有問題? 在網(wǎng)上溜達半天,都是一個套路。
這是只能考慮從保留位數(shù)、精度入手。于是發(fā)現(xiàn)了 DecimalFormat
0 一個數(shù)字
# 一個數(shù)字,不包括 0
. 小數(shù)的分隔符的占位符
, 分組分隔符的占位符
; 分隔格式。
- 缺省負數(shù)前綴。
% 乘以 100 和作為百分比顯示
float f = 0.1f; String max ="1.7"; DecimalFormat df = new DecimalFormat("#########.#"); String s = df.format(Float.parseFloat(max)+f); System.out.println(s);
結(jié)果:1.8
OK,問題解決!
以上這篇Java 字符串轉(zhuǎn)float運算 float轉(zhuǎn)字符串的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
IntelliJ IDEA設(shè)置Tabs實現(xiàn)同時打開多個文件且分行顯示
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA設(shè)置Tabs實現(xiàn)同時打開多個文件且分行顯示,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10SpringCloud中使用Sentinel實現(xiàn)限流的實戰(zhàn)
限流在很多地方都可以使用的到,本篇博客將介紹如何使用SpringCloud中使用Sentinel實現(xiàn)限流,從而達到服務(wù)降級的目的,感興趣的可以了解一下2022-01-01mybatis中${}和#{}的區(qū)別以及底層原理分析
這篇文章主要介紹了mybatis中${}和#{}的區(qū)別以及底層原理,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05MyBatis 三表外關(guān)聯(lián)查詢的實現(xiàn)(用戶、角色、權(quán)限)
這篇文章主要介紹了MyBatis 三表外關(guān)聯(lián)查詢的實現(xiàn)(用戶、角色、權(quán)限),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Spring?JPA的實體屬性類型轉(zhuǎn)換器并反序列化工具類詳解
這篇文章主要介紹了Spring?JPA的實體屬性類型轉(zhuǎn)換器并反序列化工具類詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02Java中使用json與前臺Ajax數(shù)據(jù)交互的方法
這篇文章主要為大家詳細介紹了Java中使用json與前臺Ajax數(shù)據(jù)交互的方法,分享Ajax獲取顯示Json數(shù)據(jù)的一種方法,感興趣的小伙伴們可以參考一下2016-06-06