为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕侠2389804 2023-06-25 13:46:13
我有一个练习,我必须将字符串转换为整数并能够处理负数。这种方法可行,但必须有更好的方法来做到这一点。String nr = "-5.6";double x = Convert.ToDouble(nr);       //Convert to doubledouble y = Math.Round(x);   //Round the nrint r = Convert.ToInt32(x); //Convert to Int string t = r.ToString();    //Convert back to string so possibletextBox1.AppendText(t);     //to Append to textBox
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

您可以进入英雄模式,只需一行即可完成,具体取决于您想要的结果


var nr = "-5.6";


var result = Math.Truncate(double.Parse(nr)).ToString() ; // -5

// or

var result = Math.Round(double.Parse(nr)).ToString() ; // -6

虽然将所有内容都放在一行作为一种黑客,但如果这是用户输入,您可能会想要使用double.TryParse和验证肮脏的小手指


查看完整回答
反对 回复 2023-06-25
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

你的方法很好;它是明确的,允许您完全控制转换的每个步骤。例如,可以很容易地对其进行修改以更改舍入规则或处理不同的数字格式。

但是,如果您想要非常简单和简短的内容,则可以使用 string.Format 在一行中完成。

var result = string.Format("{0:N0}", float.Parse("-5.6"));


查看完整回答
反对 回复 2023-06-25
  • 2 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信