获取数字的大小
本文关键字:数字 获取 | 更新日期: 2023-09-27 18:32:52
哪种方法更适合获取数字的大小。
SomeInt.ToString().Length
或
(int)Math.Log10(SomeInt) + 1
如果我是你,我会避免为此目的使用Math.Log10
。它会在零和负数上中断。您花在跟踪怪异异常上的时间将超过性能差异数万倍。
在性能方面,您应该对其进行基准测试。直观地说,使用对数的版本应该更快,因为它只执行数学运算。相反,使用字符串的版本必须分配它,将数字转换为字符串,然后获取字符串的长度。
为了使一切更加健壮和可读,请确保引入一个函数int SizeOfNumber(int number)
来包装您的实现。这样可以更容易理解代码在做什么。
您还应该注意,这些方法都不适用于负值。ToString
版本将包括-
符号,并且未为零和负数定义Log10
。