问题标签 [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 投票
3 回答
113 浏览

c++ - 在 C++ 中类型感知字符串到数字的转换

让我们假设这个世界上的所有数字都是正整数,它们可以用 uintX_t C++ 类型表示。

让我们考虑下一个将 std::string 转换为数字的很棒的代码:

如您所见,此函数中有多个错误,但我对一个特定的错误感兴趣:如何检测我的类型何时不足以包含该值(例如第二次转换调用)并在制作result = result * 10 + *it - '0';. 我想知道该操作是否会T在进行之前超过最大值。这可能吗?

编辑:请检查是否有符号整数溢出在 C++ 中仍然是未定义的行为?有关 C++ 中算术运算的 UB 的更多信息。我想避免result = result * 10 + *it - '0';在结果溢出时执行该行。在答案中,该行仍在执行...

EDIT2:我在这里找到了答案:如何检测整数溢出?

EDIT3:接受的答案适用于签名类型。对于无符号类型 Cheers 和 hth。- 阿尔夫的答案是正确的。

0 投票
1 回答
2107 浏览

compiler-errors - 如何将 UInt64 转换为 Int64?

此函数调用中的第二个参数:

导致编译器错误:

斯威夫特参考

0 投票
7 回答
5257 浏览

c# - 通过强制转换为 uint 而不是检查负值来执行范围检查是否更有效?

我在 .NET 的List 源代码中偶然发现了这段代码:

显然这比(?)更有效if (index < 0 || index >= _size)

我很好奇这个把戏背后的原理。单个分支指令真的比两次转换更昂贵uint吗?或者是否有其他一些优化可以使这段代码比额外的数字比较更快?

为了解决房间里的大象问题:是的,这是微优化,不,我不打算在我的代码中到处使用它——我只是好奇;)

0 投票
2 回答
2053 浏览

c++ - C++ void 反向函数

我们正在将基数 10 转换为不同基数 (B) 的数字。我在使用 void reverse 函数时遇到问题,它不会颠倒数字的顺序。

0 投票
1 回答
78 浏览

bash - 在bash中将因子转换为数字

在bash中将因子向量(并非所有级别都是唯一的)转换为数字向量的最有效方法是什么?数值向量中的值无关紧要,只要每个值代表因子的唯一级别。

为了说明,这将是 R 等价于我想在 bash 中做的事情:

数字<-seq_along(级别(因子))[因子]

IE:

因素

AV1019A
ABG1787
AV1019A
B77hhA
B77hhA

数字

1
2
1
3
3

非常感谢。

0 投票
6 回答
17263 浏览

c - 为什么 0 < -0x80000000?

我有一个简单的程序:

条件if(bal < INT32_MIN )始终为真。这怎么可能?

如果我将宏更改为:

谁能指出这个问题?

0 投票
0 回答
58 浏览

ios - swift 2.0 NSDecimalNumber 可能的差异转换为长

我无法对此做出正面或反面。我正在使用 NSDecimalNumber 截断字符串中的小数部分。这在大多数情况下都有效,但显然不适用于无限小数(或太多)。这是一个例子:

第一行打印 49,第二行打印 -5,最后一行打印 0。我知道我可以使用舍入函数来做同样的事情,这就是我可能会使用的,但这看起来不奇怪吗?我知道这不仅仅是将浮点位模式转换为长整数,否则结果会完全不同。

0 投票
1 回答
2499 浏览

android - 如何将 TextView 的值转换为整数

我正在设计一个基本的 BMI 计算器并且我的计算器正在工作,但是我需要将计算得到的答案从一个双精度的 TextView 转换为一个整数,以使我能够根据计算得到的答案使用 <> 运算符进行正确的陈述。
如何将 TextView 中的答案转换为整数?

0 投票
3 回答
8401 浏览

xslt - XSLT 将数字作为字符串进行比较

背景

我最近惊讶地发现 XSL 能够智能地处理数字。即知道在执行比较时将文本中的数字视为数字(即它理解7 < 10而不是思考'10' < '7')。就我而言,这就是我想要的;只是不是我所期望的。

出于好奇,然后我尝试强制 XSLT 将数字作为字符串进行比较(即通过使用该string()函数,但没有运气。

问题

是否可以让 XSLT 将数字作为字符串进行比较?例如是'10' < '7'吗?

例子

源 XML:

XSLT:

预期输出:

实际输出:

0 投票
2 回答
12876 浏览

c++ - C++ 中数字类型之间转换的最佳实践

在不同数字类型之间进行转换的最佳做法是什么?Types float, double,int是我在 C++ 中使用最多的类型。

fwhere is a floatand nis a doubleor an选项示例int

我通常写作static_cast<T>(...),但想知道 C++ 开发社区内是否有任何共识,是否有首选方式。

我很欣赏这可能最终成为一个基于意见的问题,并且可能没有“标准”方式,在这种情况下,请让我知道没有标准方式,所以至少我知道:-)

我知道这个问题通常与铸造有关,但是,我对数字特别感兴趣,以及在数字类型的方法中是否有特定的最佳实践。