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

如何设置TotalHours为double格式,使txtBoxMonatstotal显示93.3?

解决方法:调整字符串格式化即可

其实你的workedPerMonth已经是double类型啦——因为TimeSpan.TotalHours本身返回的就是double,所以问题出在数值转字符串时的格式化逻辑,默认的ToString()不会强制保留一位小数,所以需要指定格式字符串来让它显示成93.3这样的形式。

你只需要修改赋值给文本框的代码,给ToString()传入格式化参数就行,这里给你几种常用的方案:

方案1:固定保留1位小数(推荐,确保格式统一)

不管数值是整数还是带小数,都显示一位小数,比如93会变成93.0,93.3就显示93.3:

txtBoxMonatstotal.Text = workedPerMonth.ToString("F1");
// 同理其他文本框也可以同步修改格式:
txtBoxSollzeit.Text = shouldWorkPerMonth.ToString("F1");
txtBoxSaldo.Text = saldo.ToString("F1");

方案2:保留1位小数,自动去掉末尾无意义的0

如果希望整数时显示纯整数(比如93显示93),有小数时显示一位小数(比如93.3显示93.3),可以用这个格式:

txtBoxMonatstotal.Text = workedPerMonth.ToString("#.0");

额外说明

  • 如果你需要保留更多小数位,比如两位,就把F1改成F2、#.0改成#.00即可。
  • 从你的代码来看,workingHours的Value是TimeSpan类型,TotalHours的计算逻辑是正确的,不用调整类型转换~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:58:17