float四舍五入保留一位小數點(坑)


Float四舍五入保留一位小數點

public class Test {
    public static void main(String[] args){
        double data1 = 3.35;
        float data2 = 3.35f;
        System.out.println(String.format("%.1f", data1));//輸出3.4 進行四舍五入小數點
        System.out.println(String.format("%.1f", data2));//輸出3.3
        // 強轉float為double類型 部分會失真
        System.out.println((double)(data2));//輸出3.3499999046325684  所以會導致 第二結果為3.3

        System.out.print(strOnePointOfFloat(5.54f)); // output 5.5
        System.out.print(strOnePointOfFloat(5.56f)); // output 5.6
    }

    public static String strOnePointOfFloat(float f){
        return String.format("%.1f", Double.valueOf(String.valueOf(f)));
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM