第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Java中使用Double保持精度

在Java中使用Double保持精度

慕容708150 2019-05-31 10:51:53
在Java中使用Double保持精度public class doublePrecision {     public static void main(String[] args) {         double total = 0;         total += 5.6;         total += 5.8;         System.out.println(total);     }}以上代碼打印:11.399999999999我如何才能把它打印出來(或者可以用作)11.4?
查看完整描述

3 回答

?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

例如,當(dāng)您輸入一個(gè)雙數(shù)字時(shí),33.33333333333333,您得到的值實(shí)際上是最接近可表示的雙精度值,確切地說:

33.3333333333333285963817615993320941925048828125

除以100表示:

0.333333333333333285963817615993320941925048828125

它也不能表示為雙精度數(shù)字,因此再次將其舍入到最接近的可表示值,即:

0.3333333333333332593184650249895639717578887939453125

輸出此值時(shí),它將被舍入。再一次到17位小數(shù),給出:

0.33333333333333326


查看完整回答
反對(duì) 回復(fù) 2019-05-31
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

如果您只想將值處理為分?jǐn)?shù),則可以創(chuàng)建一個(gè)包含分子和分母字段的分?jǐn)?shù)類。

編寫加、減、乘和除的方法以及toDouble方法。這樣,您可以避免在計(jì)算期間浮動(dòng)。

編輯:快速實(shí)現(xiàn),

public class Fraction {private int numerator;private int denominator;public Fraction(int n, int d){
    numerator = n;
    denominator = d;}public double toDouble(){
    return ((double)numerator)/((double)denominator);}public static Fraction add(Fraction a, Fraction b){
    if(a.denominator != b.denominator){
        double aTop = b.denominator * a.numerator;
        double bTop = a.denominator * b.numerator;
        return new Fraction(aTop + bTop, a.denominator * b.denominator);
    }
    else{
        return new Fraction(a.numerator + b.numerator, a.denominator);
    }}public static Fraction divide(Fraction a, Fraction b){
    return new Fraction(a.numerator * b.denominator, a.denominator * b.numerator);}public static Fraction multiply(Fraction a, Fraction b){
    return new Fraction(a.numerator * b.numerator, a.denominator * b.denominator);}public static Fraction subtract(Fraction a, Fraction b){
    if(a.denominator != b.denominator){
        double aTop = b.denominator * a.numerator;
        double bTop = a.denominator * b.numerator;
        return new Fraction(aTop-bTop, a.denominator*b.denominator);
    }
    else{
        return new Fraction(a.numerator - b.numerator, a.denominator);
    }}}


查看完整回答
反對(duì) 回復(fù) 2019-05-31
  • 3 回答
  • 0 關(guān)注
  • 3226 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)