将十进制转换为精度较低的整数作为字符串

Mik*_*kke 0 c# formatting

因为有些人显然认为千兆字节作为十进制是准确存储可用存储空间的好方法,我现在有以下代码将其转换为字节表示:

Convert.ToString(Convert.ToInt64(Math.Floor(someDecimal * 1024 * 1024)));
Run Code Online (Sandbox Code Playgroud)

现在虽然这有效(as-in返回预期的结果),但它并不完全优雅.

有没有更优雅的方式来进行这种转换?(地板是必要的).

Dan*_*rth 5

你为什么不用这个:

var result = ((Int64)(someDecimal * 1024 * 1024 * 1024)).ToString();
Run Code Online (Sandbox Code Playgroud)

当然,这应该用一些辅助方法封装.你不希望在你的代码中撒上这些东西.