【问题标题】:Convert decimal to hour and minute将十进制转换为小时和分钟
【发布时间】:2014-11-06 04:11:30
【问题描述】:

我想从 Decimal 值中获取小时和分钟。

示例:十进制值为 12.50。因此,该值将是 12 小时 30 分钟。

我怎样才能用最短的方法得到这个?

【问题讨论】:

  • 你尝试过什么吗?检查Console.WriteLine(String.Format("{0} hours and {1} minutes", CInt(12.5), (12.5 Mod 1) * 60))
  • 我按照你的方法搞定了。谢谢。
  • 注意:12.51 会给你12 hours 30.6 minutes 如果你不想要十进制分钟,请使用CInt()Round()
  • 顺便说一句,你的时间格式是什么?

标签: .net vb.net type-conversion


【解决方案1】:

试试:

Dim val as Decimal = 12.50

hours = Convert.ToInt32(val)
minutes = (val Mod hours) * 60

【讨论】:

  • minutes = (val Mod 1) * 60也有同样的效果
【解决方案2】:

这样的东西也应该可以工作

Dim ts = New TimeSpan(0, 0, 12.5 * 60, 0)

【讨论】:

  • Dim tim As Decimal = 120.5 Dim ts = New TimeSpan(0, 0, tim * 60, 0)
  • 更容易使用 Dim ts = TimeSpan.FromHours(12.5)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多