欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 字符串轉(zhuǎn)float運算 float轉(zhuǎn)字符串的方法

 更新時間:2018年07月14日 12:23:34   作者:別墨跡  
今天小編就為大家分享一篇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)文章

最新評論