c# - string.Format - SS:MS 12:34 中的 timeSinceLevelLoad
问题描述
我希望将 timeSinceLevelLoad 格式化为 00:00 的格式,这样玩家就可以看到他们玩了多少秒和毫秒。
我试图通过使用 string.Format 并保存到我的 timeText 变量来做到这一点,如下所示。
void Update () {
timeText.text = string.Format("{0:00}", Time.timeSinceLevelLoad);
}
目前,我只得到 00: 数秒,但尝试了 "{0:00}:{0:.00}" 和其他一些变体。
有谁知道在一行中干净地做到这一点的方法?
解决方案
尝试这个...
void Update () {
timeText.text = string
.Format("{0:00.00}", Time.timeSinceLevelLoad)
.Replace(
CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator,
":");
}
编辑:如对问题的评论所述。提问者想要的格式是非标准的。没有文化使用 : 字符来分隔秒和毫秒。此字符更常用于分隔分钟和秒或小时和分钟。因此,您需要使用替换功能将标准小数分隔符替换为非标准分隔符。
推荐阅读
- python - 从 turtle.textinput() 获得超过 1 个值
- php - PHP 致命错误:调用未定义的“客户”类
- r - 在 rmanovab(WRS2 R 包)中使用函数 head() 的原因是什么?
- python-3.x - 使用 numpy.percentile 在数据框中的不同 id 上取百分位数
- android - 将数据传递到 infowindowclick 谷歌地图
- haskell - Haskell 中的非法多态或限定类型
- python - Python中的Zelle图形:如何分别移动两个对象
- c - 如何连续列出/打印数组中的多个值?
- firebase - 用于不等式检查的 Firebase 数据建模
- firebase - Firebase:删除帐户后允许删除用户内容