我需要一个特定的十进制转换,我不能这样做

问题描述 投票:1回答:2

我想以所需的格式从数据库中写入十进制值数据(格式1000145,14563 => 100.014.5,146)

你会看到我正在尝试做的事情。如果你帮助我,我会很高兴的。

我有填写和填写图片的字段

query.ForEach(item => {
            var a= string.Format("{0:N}", item.TotalWeight);
            item.TotalWeight =Convert.ToDecimal(a);
            string.Format("{0:N}", item.TotalVolume);
            string.Format("{0:N}", item.TotalLDM);
            string.Format("{0:N}", item.TotalChargeableWeight);
            string.Format("{0:N}", item.GoodPrice);
            });
            return query;

enter image description here

enter image description here

javascript c# angular linq
2个回答
1
投票

您可以使用NumberFormatInfo创建“自己的”数字格式(请参阅:NumberFormatInfo):

using System.Globalization;

private void DecimalFormating()
{
    double input = 1000145.14563;

    NumberFormatInfo nfi = new NumberFormatInfo();

    //Need for grouping, so the thousendgrouping starts on the left side
    int gs = input.ToString().Split('.')[0].Length % 3;

    //First int in GroupSize[] is for the most right digits before the DecimalSeperator
    int[] GroupSizes = {gs, 3};
    nfi.NumberGroupSizes = GroupSizes;

    //Change other custom informations
    nfi.NumberDecimalDigits = 3;
    nfi.NumberDecimalSeparator = ",";
    nfi.NumberGroupSeparator = ".";

    string output = input.ToString("N", nfi);
}

detail中的NumberGroupSizes


0
投票

你可以使用JS库吗?这是使用JS的前端解决方案。

尝试使用Numeral JS格式化和操作数字。

© www.soinside.com 2019 - 2024. All rights reserved.