我遇到了关于数字的整数部分和小数部分的问题。其实我需要的是说我有一个数字'101'。这实际上是经过一些计算和时间的结果。我需要找到小时和分钟。所以我做的是
overtime = 101
Dim fraction As Decimal = 0
If overtime > 59 Then
fraction = overtime / 60
'overtime = overtime / 60
fraction = fraction - CInt(fraction)
fraction = fraction * 60
Dim str() As String = Split(fraction.ToString, ".")
Try
If str(2).Length > 2 Then
End If
Catch ex As Exception
End Try
End If
但整数正在四舍五入,所以我得到了错误的答案。
答案 0 :(得分:4)
查看\
运算符(与正常除法运算符相反的方向斜杠),它会自动截断小数部分而只留下一个整数,而Mod
运算符只返回剩余的分工。
答案 1 :(得分:0)
您还可以使用TimeSpan
为您进行转换:
Dim overtime As Integer = 101
Dim ov As TimeSpan = TimeSpan.FromMinutes(overtime)
' outputs "Hours: 1 Minutes: 41"
Console.WriteLine(String.Format("Hours: {0} Minutes: {1}", ov.Days * 24 + ov.Hours, ov.Minutes))
overtime
也可以是任何其他类型,可以转换为Double
。