获取数字的大小

本文关键字:数字 获取 | 更新日期: 2023-09-27 18:32:52

哪种方法更适合获取数字的大小。

SomeInt.ToString().Length

(int)Math.Log10(SomeInt) + 1

获取数字的大小

如果我是你,我会避免为此目的使用Math.Log10。它会在零和负数上中断。您花在跟踪怪异异常上的时间将超过性能差异数万倍。

在性能方面,您应该对其进行基准测试。直观地说,使用对数的版本应该更快,因为它只执行数学运算。相反,使用字符串的版本必须分配它,将数字转换为字符串,然后获取字符串的长度。

为了使一切更加健壮和可读,请确保引入一个函数int SizeOfNumber(int number)来包装您的实现。这样可以更容易理解代码在做什么。

您还应该注意,这些方法都不适用于负值。ToString版本将包括-符号,并且未为零和负数定义Log10