c# - 如何将 0 或只有 2 位的小数扩展为 4 位 (#.0000)?
问题描述
我有不同来源的小数和不同的数字。
我需要所有这些,例如:#.0000(4 位数字)
decimal amountOrigin = 12345678.00; //automatically two digits via Newtonsoft.JsonConvert()
decimal amountByOwn = 1234567.0000; //I try to define by my own with 4 digits
decimal amount_A = Decimal.Round(amountOrigin, 4); //=> 12345678.00
decimal amount_B = Decimal.Round(amountOrigin + (decimal)0.000001, 4); //=> 12345678.0000
decimal amount_C = amountByOwn; //=> 1234567
amount_B
正在工作,但不是很好。:/
有没有一种简单的方法可以将我的小数四舍五入或扩展为 4 位,即使小数之前的位数更少?像字符串格式一样,但我需要它作为小数,以便以后用它们计算。
我需要 4 位数字,因为比较来自不同来源的哈希值。123.0000 的 md5 散列不同于 123.00 或 123.0,...
-------------------------------------------------- -----
因为我的问题已经结束,所以我的解决方案再次在这里:
它使零短路。所以我可以稍后用它们计算,但是 md5 哈希值是一样的。
public string CreateMd5Hash()
{
using (MD5 md5 = MD5.Create())
{
Md5Hash = BitConverter.ToString(md5.ComputeHash(Encoding.ASCII.GetBytes(
ShopStatus +
ApiCustomerId +
CustomerFirstName +
CustomerLastName +
ApiCreditAccountId +
Decimal.Round(new Decimal((double)CurrentAmount), 4) +
Decimal.Round(new Decimal((double)OriginalAmount), 4) +
Decimal.Round(new Decimal((double)RevokedAmount), 4) +
OrderDate +
DeliveryDate +
InvoiceDate +
ReversalDate +
ReversalEntryDate +
ReversalBookedDate
))).Replace("-", string.Empty).ToLower();
}
return Md5Hash;
}
感谢@Olivier Rogier 的思考。:D
解决方案
推荐阅读
- python-2.7 - 序列化和反序列化之间的底层类变化
- javascript - 将所有 HTML 表值传递给 PHP 以使用 Javascript 将它们存储在数据库中
- windows - Robotframework-WhiteLibrary:Windows 应用自动化:单击按钮关键字导致失败
- python - 重新分配的数组(Python)
- ssl - 自定义域 Heroku 应用程序无法提供安全连接:ERR_SSL_PROTOCOL_ERROR
- redirect - Azure web.config 永久重定向并获得 307 状态码而不是 301
- javascript - 如何按业力对 Reddit 用户进行排序?
- hyperledger-fabric - Hyperledger Fabric:fabric-ca-server 启动后有什么方法可以更改它的设置吗?
- excel - 在整行中查找部分文本
- php - registeringArray 时出错([0] => 42S22 [1] => 1054 [2] => '字段列表'中的未知列'名称')