perl - 将 Perl 中的 Pi 舍入到小数点后第 100 位?

标签 perl rounding pi

对于 Science Fair 项目,我正在测试您选择的编程语言如何影响性能。我通过用 Java、Ruby、Perl 和 Python 编写脚本来将 Pi 计算到小数点后 100 位。我从 Perl 开始,因为我最熟悉 Perl。然而,这带来了一个有趣的问题。我需要在 Perl 中将 Pi 舍入到百万分之一,但据我所知,Perl 对于这种情况没有很好的舍入方法。只有这样的东西

use Math::Round;
$rounded = nearest(0.1, $numb);

这有点问题,因为我不想坐在我的电脑前输入 1 亿个零。据我所知,sprintf 和 printf 也好不到哪里去;另外,他们有那种烦人的一半甚至一半的事情。任何人都可以帮忙吗?

附言如果对任何人都很重要,我打算使用 Chudnovsky 公式。

最佳答案

我不认为任何编程语言都可以在 native 上完成您的要求。即使像 Math::BigRat(默认为 40 位)和 Math::Bignum 这样的 bignum 库也无法处理 1 亿位数字。

为了实现它,您必须创建自己的自定义方式来表示如此大的数字以及如何舍入它们。

关于perl - 将 Perl 中的 Pi 舍入到小数点后第 100 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13946133/

相关文章:

perl - 如何从命令行使用 ActivePerl 的 PPM 4?

mysql - DBD::mysql:如何将 "SELECT * INTO file"写入我的主目录?

c++ - 如何重现 C++ 双舍入问题

c# - 根据 C# 中的比率对数字进行四舍五入

c++ - 使用 Boost mpfr_float 创建可变精度的数学常量,例如 pi 或 e

c# - C# 中小数的任意精度帮助?

linux - 我应该如何找到几个可能字符的索引?

mysql - 抛出“不是数组引用”错误

Python 自动舍入小数

objective-c - objc中 "pi"和 "M_PI"有什么区别