小编Jam*_*rov的帖子

舍入BigDecimal以匹配C++ sprintf

我正在将C++应用程序迁移到Java.如何匹配sprintf的舍入行为?

int main() {
    char result[20];
    double dArr [6] = {5.05, 5.15, 5.25, 5.35, 5.45, 5.55};

    for(int i; i< 6; i++) {
        sprintf(result,"%3.1lf",dArr[i]);
        cout << result << endl;
    }
    return 0;
}


VALUE      C++ sprintf Rounding: 
---------  ----------------------------------------
5.05    -   5.0 (rounding: half_down or half_even?)
5.15    -   5.2 (rounding: half_up   or half_even?)
5.25    -   5.2 (rounding: half_down or half_even?)
5.35    -   5.3 (rounding: half_down or half_odd ?)
5.45    -   5.5 (rounding: half_up   or half_odd ?)
5.55    -   5.5 (rounding: half_down …
Run Code Online (Sandbox Code Playgroud)

c++ java rounding bigdecimal

1
推荐指数
1
解决办法
321
查看次数

标签 统计

bigdecimal ×1

c++ ×1

java ×1

rounding ×1