を使用して
これは、あなたがdecimal
にdecimal
のマッピングを設定することができます方法を示す完全なMCVEです。この例では、私が2桁にすべての小数点以下の値を丸める:
public class FooProfile : Profile
{
public FooProfile()
{
CreateMap<decimal, decimal>().ConvertUsing(x=> Math.Round(x,2));
CreateMap<Foo, Foo>();
}
}
public class Foo
{
public decimal X { get; set; }
}
をここでは、我々はそれを示しています
class Program
{
static void Main(string[] args)
{
Mapper.Initialize(x=> x.AddProfile(new FooProfile()));
var foo = new Foo() { X = 1234.4567M };
var foo2 = Mapper.Map<Foo>(foo);
Debug.WriteLine(foo2.X);
}
}
予想される出力:
1234.46
しばらくそのAutomapperがdecimal
をにマップする方法を知っているをそのまま使用すると、デフォルト設定を無効にして、ニーズに合わせてマッピングする方法を伝えることができます。
出典
2017-12-19 15:31:11
Amy
https://stackoverflow.com/questions/30137734/whats-the-alternative-to-valueformatter-in-automapper – Amy
解決策の問題は、すべての小数点型のインスタンスを見つけなければならないということです。私はプロパティではなく小数点以下の型でこれをやりたい –
十進数から十進数までのマップを作成し、そのフォーマッタを適用するだけです。あなたはどこでもそれをする必要はありません。小数点以下を小数点にマッピングする方法をautomapperに教えてください。 – Amy