问题标签 [decimal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1217 浏览

perl - 为什么Spreadsheet::XLSX::Utility2007 的xls2csv 四舍五入到小数点后两位?

我正在编写一个 Perl/Tk 脚本,它使用 Spreadsheet::Read 模块中的 ss2tk 示例脚本显示 Excel 工作表。它不会四舍五入两位小数,但来自Spreadsheet::XLSX::Utility2007的函数确实四舍五入到两位小数。为什么?我正在尝试将第二个功能用作我的程序的一个功能,以提供将显示的工作表转换为 CSV 文件的功能。

0 投票
3 回答
25645 浏览

hex - 在 MIPS 中将十六进制字符转换为十进制等效值

如何获取单个 ASCII 字符并将其转换为 MIP 中的十进制等效值?

我是否只需要有一些条件才能从 ascii 代码中减去一定数量以使其成为十进制表示形式?

0 投票
7 回答
30181 浏览

c++ - 在 C/C++ 中高效地在十六进制、二进制和十进制之间进行转换

我有 3 个正整数的基本表示形式:

  1. 十进制,在 unsigned long 变量中(例如unsigned long int NumDec = 200)。
  2. 十六进制,在字符串变量中(例如字符串 NumHex = "C8"
  3. 二进制,在字符串变量中(例如string NumBin = "11001000"

我希望能够以最有效的方式在所有 3 种表示形式中的数字之间进行转换。即实现以下6个功能:

对于他们每个人来说,最有效的方法是什么?我可以使用 C 和 C++,但不能使用 boost。

编辑:“效率”是指时间效率:最短的执行时间。

0 投票
4 回答
29755 浏览

c# - C# Decimal.Parse 逗号问题

这是我的问题(对于 en-US):

Decimal.Parse("1,2,3,4")返回 1234,而不是抛出 InvalidFormatException。

大多数 Windows 应用程序 (Excel en-US) 不会删除千位分隔符,也不认为该值是十进制数。其他语言也会出现同样的问题(尽管字符不同)。

有没有其他十进制解析库可以解决这个问题?

谢谢!

0 投票
7 回答
16102 浏览

java - Java负整数到十六进制并返回失败

这是怎么回事?

0 投票
4 回答
1473 浏览

c# - 为什么 double 和 float 存在?

复制

我什么时候应该使用双精度而不是十进制?

.. 还有很多...

由于它们的准确性,我们在整个应用程序中使用 C# 和 SQL Server 十进制数据类型。从来没有遇到过任何令人讨厌的问题,即总数不等于细节等。

我想知道为什么 double 和 float 存在,因为它们不准确

0 投票
10 回答
551 浏览

c# - 将窄类型转换为更宽类型以节省内存并保持高精度计算是一个糟糕的主意吗?

我正在处理财务数据,所以它有很多并且需要相对高精度(64 位浮点或更宽)。

我工作场所的标准做法似乎是将所有这些都表示为 c# 十进制类型,这是一个 128 位宽的浮点数,专门用于支持四舍五入的自由 base10 操作。

由于 64 位足够宽以保持代表性精度,因此将数据转换为更广泛的类型以进行所有计算(mult、div、add 等)然后回到 64 位以存储在内存中(这是它花费的地方)是荒谬的吗?大多数时候)?

供参考:内存绝对是这里的限制资源。

0 投票
2 回答
1438 浏览

c# - 将非常大的十进制数转换为十六进制 (1.67119535743*10^33)

我很好奇是否可以通过 PHP 或 C# 将一个非常非常大的十进制数(例如 1.67119535743*10^33/1.67119535743E+33)转换为十六进制。不幸的是,我之前的所有尝试都失败了。提前感谢大家!

0 投票
5 回答
8354 浏览

c - 将非常大的数字从二进制转换为十进制并打印

我知道如何将二进制转换为十进制。我至少知道 2 种方法:表格和电源 ;-)

我想将二进制转换为十进制并打印这个十进制。此外,我对这个“小数”不感兴趣;我只想打印它。

但是,正如我上面所写的,我只知道将二进制转换为十进制的两种方法,并且它们都需要加法。因此,我正在计算二进制 1 或 0 的一些值,并将其添加到记住的值中。这是一个很薄的地方。我有一个非常非常大的数字(1 和 64 个零)。在转换时,我需要将一些中间结果放在一些“变量”中。在 C 中,我有一个“int”类型,它只有 4 个字节,不超过 10^11。

因此,在从二进制转换为十进制时,我没有足够的内存来存储中间结果。正如我上面写的,我对那个小数不感兴趣,我只想打印结果。但是,我没有看到任何其他方法来解决它;-( 有没有从二进制“打印”的解决方案?

或者,也许,我应该使用像 BCD(二进制编码十进制)这样的东西来表示中间表示?我真的不想使用它,因为它不是那么跨平台(英特尔的处理器具有内置功能,但对于其他我需要编写自己的实现)。

我很高兴听到你的想法。谢谢你的耐心。

语言:C.

0 投票
7 回答
4030 浏览

algorithm - 从一种数字系统转换为另一种数字系统后将有多少位

主要问题:多少位数?

让我解释。我有一个二进制数:11000000,十进制数是 192。

转换为十进制后,它将有多少位(以十进制表示)?在我的示例中,它是 3 位数字。但是,这不是问题。我在互联网上搜索并找到了一种用于整数部分的算法和一种用于小数部分的算法。我不太了解它们,但(我认为)它们有效。

当从二进制转换为八进制时,它更容易:每 3 位给你 1 个八进制数字。十六进制相同:每个 4 位 = 1 个十六进制数字。

但是,我很好奇,如果我有一个 P 数字系统的数字并想将它转换为 Q 数字系统,该怎么办?我知道怎么做(我想,我知道 :)),但是,首先,我想知道 Q 系统中需要多少位数(你不,我必须预先分配空间)。