Convert.ToInt或String.Split:哪个更有效?

zsh*_*arp 0 c# floating-point integer

哪种方式更适合删除浮动小数位,还是有更有效的方法?

舍入并不重要,我有兴趣显示这个数字

      Float number;            
      1- int wholeNumber= Convert.ToInt(number);
         string display=wholeNumber.ToString();

      2- string [] splitNumber= number.ToString().Split('.');
         string display=splitNumber[0];
Run Code Online (Sandbox Code Playgroud)

Kev*_*ell 5

由于您只是删除小数,请执行:

int wholeNumber = (int)number;
Run Code Online (Sandbox Code Playgroud)

这将有效地减少小数.请注意,它不会对数字进行舍入,但这不是您请求的行为.


Guf*_*ffa 5

以下是两个效率更高的选项:

只需输入数字而不是调用Convert.ToInt32:

((int)number).ToString()
Run Code Online (Sandbox Code Playgroud)

使用小数为零的格式说明符格式化数字:

number.ToString("N0")
Run Code Online (Sandbox Code Playgroud)

第一个应该稍快一些,因为格式化整数比浮点数更容易.

如果你想要一些真正有效的东西,你可以将数字转换为整数,然后使用经过优化的代码将其格式化为字符串,只做你需要的代码而已.