क्या कोई पैसा या मुद्रा स्वरूपित मान पार्स करने के लिए UpdateModel या TryUpdateModel प्राप्त करने का कोई तरीका है जैसे $ 1,200.00 दशमलव में भाग के बिना दशमलव में?एक मुद्रा स्वरूपित मूल्य के साथ TryUpdateModel?
उत्तर
कस्टम मॉडल बाइंडर का उपयोग करने के लिए निम्न विधि का उपयोग कर सकते हैं।
जितना आसान या सुरुचिपूर्ण नहीं था उतना आसान था, लेकिन कुछ tweaking के साथ यह वास्तव में काम किया, तो धन्यवाद। मैं अपने tweaked बांधने की मशीन पोस्ट करेंगे। –
क्या आप इनमें से किसी भी विधि को कॉल करने से पहले मूल्य को आगे बढ़ाने में सक्षम हैं? यदि ऐसा है, तो आप
var provider = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();
provider.CurrencySymbol = "$";
var x = decimal.Parse(
"$1,200",
NumberStyles.AllowCurrencySymbol | NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands,
provider);
यह मुझे लगता है कि एक एचटीएमएल सहायक – griegs
अच्छी तरह से इसे सामान्य रूप से पार्सिंग करना कोई समस्या नहीं है, लेकिन मेरे पास कई "धन" फ़ील्ड हैं और यदि संभव हो तो मैं TryUpdateModel के चारों ओर पार्सिंग के अपने नियंत्रकों का जंक नहीं करना चाहूंगा । –
@ कैडमियम एक कस्टम मॉडल बाइंडर का उपयोग करें, मेरे उत्तर में लिंक देखें। – eglasius
उत्तर फ्रेडी रियोस को सम्मानित किया गया के बाद से अपने लिंक मुझे आधार यह करने के लिए के साथ प्रदान की है, लेकिन कोड ऊपर फिक्सिंग कुछ की जरूरत:
// http://www.crydust.be/blog/2009/07/30/custom-model-binder-to-avoid-decimal-separator-problems/
public class MoneyParsableModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext,
ModelBindingContext bindingContext)
{
object result = null;
// Added support for decimals and nullable types - c.
if (
bindingContext.ModelType == typeof(double)
|| bindingContext.ModelType == typeof(decimal)
|| bindingContext.ModelType == typeof(double?)
|| bindingContext.ModelType == typeof(decimal?)
)
{
string modelName = bindingContext.ModelName;
string attemptedValue = bindingContext.ValueProvider[modelName].AttemptedValue;
// Depending on cultureinfo the NumberDecimalSeparator can be "," or "."
// Both "." and "," should be accepted, but aren't.
string wantedSeperator = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator;
string alternateSeperator = (wantedSeperator == "," ? "." : ",");
if (attemptedValue.IndexOf(wantedSeperator) == -1
&& attemptedValue.IndexOf(alternateSeperator) != -1)
{
attemptedValue = attemptedValue.Replace(alternateSeperator, wantedSeperator);
}
// If SetModelValue is not called it may result in a null-ref exception if the model is resused - c.
bindingContext.ModelState.SetModelValue(modelName, bindingContext.ValueProvider[modelName]);
try
{
// Added support for decimals and nullable types - c.
if (bindingContext.ModelType == typeof(double) || bindingContext.ModelType == typeof(double?))
{
result = double.Parse(attemptedValue, NumberStyles.Any);
}
else
{
result = decimal.Parse(attemptedValue, NumberStyles.Any);
}
}
catch (FormatException e)
{
bindingContext.ModelState.AddModelError(modelName, e);
}
}
else
{
result = base.BindModel(controllerContext, bindingContext);
}
return result;
}
}
यह बहुत नहीं है, लेकिन यह काम करता है।
- 1. स्वरूपित राशि से मुद्रा निकालें
- 2. एक्सेल कोशिकाओं को स्वरूपित करना (मुद्रा)
- 3. मुद्रा प्रतीक मानचित्रण के लिए मुद्रा कोड
- 4. मुद्रा
- 5. मुद्रा लेकिन मुद्रा पर हस्ताक्षर के बिना (सी #) की तरह एक डबल मूल्य फॉर्मेट करें
- 6. जावास्क्रिप्ट के साथ मुद्रा संचालन?
- 7. Asp.net MVC 3 मान्यकरण TryUpdateModel
- 8. मूल्यों के बाद मुद्रा चिह्न दिखाएं
- 9. NSNumberFormatter मुद्रा के साथ त्रुटि Symbol
- 10. SI उपसर्ग के साथ एक नंबर स्वरूपित, दशमलव
- 11. रेल मुद्रा विभिन्न मुद्रा प्रारूप
- 12. मुद्रा रूपांतरण
- 13. मुद्रा में कॉलम के साथ सीएसवी फ़ाइल को संख्यात्मक
- 14. लगभग विदेशी मुद्रा मुद्रा दरें
- 15. स्थानीय मुद्रा में एंड्रॉइड इनएप खरीद उत्पाद मूल्य
- 16. NSNumberFormatter प्रतीक के बिना मुद्रा?
- 17. सरल EditText मुद्रा फ़ॉर्मेटर
- 18. संश्लेषण में नकारात्मक संख्या स्वरूपित करें लेकिन $ प्रतीक के साथ नहीं?
- 19. एक मुद्रा में दशमलव निकालें
- 20. मोंगोज़ के साथ एक मूल्य में वृद्धि?
- 21. डेटाबेस में मुद्रा मॉडलिंग
- 22. मुद्रा लाइब्रेरी
- 23. आईफोन -> NSNumberFormatter - मुद्रा कोड के बिना कीमत
- 24. मुद्रा कोड
- 25. अगर एक जावा चरित्र एक मुद्रा प्रतीक
- 26. 3 मुद्रा चिह्न के लिए डिजिट मुद्रा कोड
- 27. स्वरूपित बहुवचन
- 28. मुद्रा एक्सएमएल फ़ीड बहुत सारी मुद्राओं के साथ
- 29. उपयोगकर्ताओं के लिए मुद्रा प्रतीक वर्तमान लोकेल
- 30. जावा में विदेशी लोकेल में मुद्राओं को स्वरूपित करना
क्या मैंने स्टैक स्टंप किया है? ऐसा लगता है कि यह मुश्किल नहीं होना चाहिए? –