如何在C#上的计时器处删除小数



我是C#的新手。我试着在我的游戏上做一个倒计时计时器。它工作得很好,但问题是我的计时器输出中出现了一个十进制数字。我只想做一个没有十进制数字的计时器,有人能帮忙吗?谢谢

这是我的代码:

public GameObject game_over;
public Image time_radial;
float time_remaining;
public int max_time = 60;
public Text timeText;
// Start is called before the first frame update
void Start()
{
time_remaining = max_time;
}
// Update is called once per frame
void Update()
{
if(time_remaining > 0)
{
time_remaining -= Time.deltaTime;
time_radial.fillAmount = time_remaining / max_time;
timeText.text = time_remaining.ToString();
}
}

指定ToString:的格式字符串

timeText.text = time_remaining.ToString("N0");

N是标准数字格式,0指定小数点后需要0位数字。


由于评论中存在舍入与截断的问题,文档(链接到上面(指出该值是四舍五入的:

当精度说明符控制结果字符串中的小数位数时,结果字符串反映一个四舍五入到最接近无限精确结果的可表示结果的数字。如果有两个同样接近可表示的结果:

  • 打开。NET框架和。NET核心高达。NET Core 2.0,运行时选择具有较大最低有效数字的结果(即,使用MidpointRounding.AwayFromZero(
  • 打开。NET Core 2.1及更高版本,运行时会选择具有偶数最低有效数字的结果(即使用MidpointRounding.ToEven(

数学。Round((是你想要的。

最新更新