You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中将百分比格式文本框内容转换为double类型出错如何解决

问题原因及解决方案

错误根源

  • 调用ToString("P2")生成的百分比格式字符串默认包含百分号(如原始值0.78格式化后会得到78.00%)
  • 无参数的double.Parse方法默认仅支持解析纯数字格式字符串,无法识别百分号等特殊格式字符,因此运行时会抛出格式错误异常

修复方案

使用double.Parse的重载方法,传入NumberStyles.Percent参数明确告知解析器需要处理百分比格式,代码示例如下:

// 需先引入全局化命名空间
using System.Globalization;

// 支持百分比格式的解析逻辑
double Gridactually24 = double.Parse(Actuallyday24.Text, NumberStyles.Percent);

如果需要适配多区域环境避免格式差异,可额外指定文化参数:

// 使用不变文化解析,不受系统区域设置影响
double Gridactually24 = double.Parse(Actuallyday24.Text, NumberStyles.Percent, CultureInfo.InvariantCulture);

补充说明

  • 按上述方式解析得到的数值会自动将百分比值除以100,和你原始存入的day25oee24d数值保持一致,无需额外做除法转换
  • 如果有特殊需求不需要自动除以100,可以先手动移除字符串中的百分号再调用普通Parse:
double Gridactually24 = double.Parse(Actuallyday24.Text.TrimEnd('%'));

内容的提问来源于stack exchange,提问作者Lukas Klossek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:24:03