问题标签 [numeric-conversion]

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 回答
1442 浏览

silverlight - Silverlight XAML 绑定——十进制到双精度

我在 DataGridView 中有一些列,它们的 Binding 属性设置为如下所示:

问题是这个 NetPrice 字段是 Decimal 类型,我想在 DataGrid 中将它转换为 Double。

有没有办法做到这一点?

0 投票
3 回答
80537 浏览

sql - SQL Server CONVERT(NUMERIC(18,0), '') 失败但 CONVERT(INT, '') 成功?

PRINT CONVERT(NUMERIC(18,0), '')

生产 Error converting data type varchar to numeric.

然而,

PRINT CONVERT(INT, '')

产生 0没有错误...

问题:是否有一些 SQL Server 标志,或者我需要为每个 varchar 到数字转换做 case 语句?(除了显而易见的原因?)

0 投票
1 回答
1591 浏览

java - 可以仅使用位运算符将无符号整数的 4 个小端序字节分配给 Java 原语吗?

我想读取 4 个字节,它们是无符号 32 位整数的小端编码,并将值分配给 Java int

(是的,实际上我会使用“long”,但在这种情况下,我“知道”无符号值永远不会大到它会溢出二进制补码表示法中的有符号 int,并且它适合我的插图使用 int )。

有问题的 4 个字节编码值 '216' little-endian 样式:

基本上我只需要将以下位模式填充到 Java int 中:

下面的简单代码应该可以做到......并且对于前三个 '0x00' 字节它成功:

但是,它搞砸了:

...因为 b1 的位是 1101 1000,它是二进制补码表示法中的负数 (-40),因为最高有效位是 1。当 Java 在评估按位或运算符之前将 b1 扩展为 int | , -40 被编码为 0xFFFFFFD8,这颠覆了我们天真的假设,即加宽的 int 的前 3 个字节将为 0。

所以我的策略搁浅了。但是我应该怎么做呢?甚至可以使用原始运算符解决这个问题(请给出解决方案),还是我们必须求助于类库?(在我的正常编码中,我不会直接使用位和字节,所以我缺乏看起来应该是“日常”代码的习语)。

至于类库方法,以下片段得到了正确的结果:

...这对可读性很好,但使用了 8 个我宁愿放弃的方法调用。

谢谢!大卫。

0 投票
2 回答
5854 浏览

c++ - C ++如何为浮点数设置固定的小数精度

我有一个返回双精度的 API 调用。双精度的小数长度可以从许多小数位变化到几个小数位(这都归结为执行器的状态)。这个双精度表示执行器范围半径上的当前位置。我对这么详细的数字不感兴趣,因为它给系统增加了很多噪音。我一直在使用浮点数来节省空间,但我仍然有 6-8 个十进制长度的浮点数。我对地板或天花板不感兴趣,只是因为它不能完成我想要的工作。例如,我有数字:

无论如何,我都希望将精度设置为小数点后 2 位。我不是在谈论 std::cout 上的输出精度,我知道如何设置它。我说的是浮动的实际精度。即:我对具有 0.XX 格式和 0.XX00000000000 实际精度的浮点数感兴趣。因此将上面的列表转换为:

我知道 boost 有一个数值转换模板,但我不知道如何使用较低的精度从浮点数转换为浮点数。有人可以帮忙吗?

0 投票
7 回答
222 浏览

c# - Casting 和 Convert.ToInt32() 在 C# 中的行为不同?

这是一段简单的 C# 代码:

为什么(int)与 相比,铸造结果会有所不同Convert.ToInt32()

两者不应该带来相同的结果吗?

0 投票
4 回答
2389 浏览

vb.net - 将阿拉伯数字转换为英文

我正在寻找一种将阿拉伯数字字符串“٠١٢٣٤٥٦٧٨٩”转换为英文数字字符串“0123456789”的方法

0 投票
1 回答
1223 浏览

c# - 将(长尾数)和(sbyte 指数)转换为十进制

upd将我的版本放在最后的描述中

我需要将尾数和指数转换为十进制。这就是我编码的方式:

field.Decimal.Mantissa是整数,但是Math.Pow(10, field.Decimal.Exponent)是双精度的,所以我担心在转换为十进制时会丢失精度。

我应该为将产生的类型编写自己的Pow函数吗?integerdecimal

你有什么建议?我关心性能,因为我每秒调用这个函数几十万次!非常需要如此丑陋但快速的解决方案!

我关心的是精度,因为我在这里用钱工作。

这是我刚刚编码的,但可能有人可以提出更好的建议:

0 投票
3 回答
33900 浏览

bash - 如何在 Bash 中测试一个字符串是否比另一个字符串“更大”?

在 Bash 中,我可以编写以下测试

这导致返回 0,即 true。bash 实际上是如何执行这个字符串比较的?据我了解>,进行整数比较。它是否尝试比较操作数的 ASCII 值?

0 投票
1 回答
637 浏览

scheme - 如何在方案中将数字分解为整数和小数部分?

我想要一个函数number->second-pair,它接受一个数字并返回一对整数,表示其整数部分和小数部分乘以 1000000。

IE:

您可能很容易找到解决方案,但我搜索了许多文档,遗憾的是找不到将数字转换为整数的方法。有人可以帮我吗?

顺便提一句:

实际上我想要一个更精确的alarm这个)通过使用setitimer,所以我想要精确的整数作为参数传递。

0 投票
0 回答
2043 浏览

c# - .NET DataTable 中的双重存储?

.NET 看起来它正在以错误的格式格式化 DataRow 中的双精度,所以我无法立即加载它。如果我存储“0.000000001”,.NET 将其存储为“1E-09.0”,而它应该是“1E-09”。所以 Convert.ToDouble("1E-09.0") 返回一个 FormatException。这是我使用的代码:

我也尝试过演员,但代码抛出了“InvalidCastException”。Double.Parse 也不能正常工作。

解决方案: