像Java一样格式化Python浮点数

2024-09-26 18:05:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我的程序由一个Java和一个Python组件组成,我希望Python以与Java默认相同的方式格式化浮点数。你知道吗

爪哇语:

    float number1 = (float) Math.PI;
    float number2 = (float) Math.PI / 1000f;
    float number3 = (float) Math.PI / 10000f;
    float number4 = (float) Math.PI / 100000f;
    float number5 = (float) (int)(Math.PI * 1000000f) / 1000000f / 100000f;

    System.out.println(number1); // prints 3.1415927
    System.out.println(number2); // prints 0.0031415927
    System.out.println(number3); // prints 3.1415926E-4
    System.out.println(number4); // prints 3.1415926E-5
    System.out.println(number5); // prints 3.141592E-5

如何在Python中获得相同的输出?你知道吗

Python的首次尝试:

import math

number1 = float(math.pi)
number2 = float(math.pi / 1000)
number3 = float(math.pi / 10000)
number4 = float(math.pi / 100000)
number5 = float(int(math.pi * 1000000) / 1000000 / 100000)

print(number1) # prints 3.141592653589793
print(number2) # prints 0.0031415926535897933
print(number3) # prints 0.0003141592653589793
print(number4) # prints 3.141592653589793e-05
print(number5) # prints 3.141592e-05

print("{:8e}".format(number1)) # prints 3.141593e+00
print("{:8e}".format(number2)) # prints 3.141593e-03
print("{:8e}".format(number3)) # prints 3.141593e-04
print("{:8e}".format(number4)) # prints 3.141593e-05
print("{:8e}".format(number5)) # prints 3.141592e-05

Tags: pimathfloatoutprintssystemprintprintln

热门问题