我有以下内容,
int intMilliseconds = rawSplit % 1000;
返回从我输入的时间开始留下的毫秒数,但在极少数情况下会返回三个数字(###)而不是通常的两个数字(##)。
我怎么能得到它总是返回两个数字? (##)
任何帮助都会非常感谢!
答案 0 :(得分:1)
听起来你想要做的就是将你的毫秒截断到百分之一秒。你可以这样做:
int hundredths= (int)( (float)intMilliseconds / 10.0f ) * 10;
例如,在这里,934或939毫秒将以93%的秒数出现。
顺便说一句,你的措辞有点奇怪 - 实际上没有办法将数字毫秒(从0到999)'格式化'为两位数字。由于您的格式为xx:xx:xx
,我假设您的意思是要显示百分之一秒。
答案 1 :(得分:0)
任何时候rawSplit
都是x,099和x,999之间的数字,它将是一个三位数字。模运算符%
在除以右操作数后给出余数。如果您执行1064 % 1000
,则结果为64
。如果您执行1548 % 1000
,则结果为548
。
您可以更改您获得的信息 - 执行模数100,例如:1064 % 100 -> 64
和1548 % 100 -> 48
- 但您无法使此表达式“返回”两位数字
我猜你可以用“厘秒”;只需将你的毫秒除以10,然后删除小数部分。