执行此代码的更好方法。从字符串、Math.Round 转换并处理负数

我有一个练习,我必须将字符串转换为整数并能够处理负数。这种方法可行,但必须有更好的方法来做到这一点。


String nr = "-5.6";


double x = Convert.ToDouble(nr);       //Convert to double


double y = Math.Round(x);   //Round the nr

int r = Convert.ToInt32(x); //Convert to Int 

string t = r.ToString();    //Convert back to string so possible

textBox1.AppendText(t);     //to Append to textBox


慕侠2389804
浏览 142回答 2
2回答

九州编程

您可以进入英雄模式,只需一行即可完成,具体取决于您想要的结果var nr = "-5.6";var result = Math.Truncate(double.Parse(nr)).ToString() ; // -5// orvar result = Math.Round(double.Parse(nr)).ToString() ; // -6虽然将所有内容都放在一行作为一种黑客,但如果这是用户输入,您可能会想要使用double.TryParse和验证肮脏的小手指

慕勒3428872

你的方法很好;它是明确的,允许您完全控制转换的每个步骤。例如,可以很容易地对其进行修改以更改舍入规则或处理不同的数字格式。但是,如果您想要非常简单和简短的内容,则可以使用 string.Format 在一行中完成。var result = string.Format("{0:N0}", float.Parse("-5.6"));
打开App,查看更多内容
随时随地看视频慕课网APP