दशमलव '96 .154 'को देखते हुए, मैं यह कैसे सुनिश्चित कर सकता हूं कि यह हमेशा 96.16 तक गोल हो जाता है (सामान्य दशमलव के विपरीत 2 दशमलव तक जो 96.15 देगा)।दशमलव को कैसे गोल करें?
उत्तर
hacky का प्रकार लेकिन ऐसा करने के लिए एक बहुत ही सहज तरीके:
var val = 96.154M;
var result = Math.Ceiling(val * 100)/100.0M;
जैसा कि आप कहते हैं सबसे आदर्श नहीं है लेकिन –
मैं अपने Math.Ceiling
विधि की तलाश में लगता है।
आप इसे गुणक के साथ जोड़ सकते हैं ताकि यह निर्धारित किया जा सके कि कितने दशमलव स्थान गोल हैं। इस तरह,
public float roundUp(float number, int numDecimalPlaces)
{
double multiplier = Math.Pow(10, numDecimalPlaces))
return Math.ceiling(number*multiplier)/multiplier;
}
आप मूल्य में 0.005 जोड़ सकते हैं और फिर परिणाम के दौर में जोड़ सकते हैं।
प्रतिभा का सबसे अच्छा समाधान जैसा दिखता है, लेकिन निर्भर करता है कि क्या आप हमेशा शून्य से घूमना चाहते हैं, नकारात्मक के बारे में क्या? – Jodrell
@ जोडरेल प्रश्न का शीर्षक यह सब "हमेशा ऊपर" कहता है। वैसे, मैंने नकारात्मक संख्याओं के बारे में टिप्पणी को ऊपर उठाया। –
यह तब काम नहीं करेगा जब मान '96.150' है, क्योंकि यह इसे '96.16' तक ले जाएगा, जो गलत है, क्योंकि इसे' 96.15' होना चाहिए। – Steven
यहां मूल्य और आधार अंश के लिए एक राउंडअप विधि का कोड है। आपके प्रश्न के लिए उपयोग करने वाले आधार अंश 0.05 एम है। हालांकि विधि का उपयोग अन्य सामान्य परिदृश्यों के लिए किया जा सकता है जो आधार अंश 0.5 एम है; और आप इसे दिलचस्प तरीकों से लागू कर सकते हैं उदाहरण के लिए 0.3 एम के आधार अंश का उपयोग करना। खैर मुझे आशा है कि यह आपके सवालों के जवाब चाहिए, मजा:
static decimal roundUp(decimal aValue, decimal aBaseFraction)
{
decimal quotient = aValue/aBaseFraction;
decimal roundedQuotient = Math.Round(quotient, 0);
decimal roundAdjust = 0.0M;
if (quotient > roundedQuotient)
{
roundAdjust = aBaseFraction;
}
return roundAdjust + roundedQuotient * aBaseFraction;
}
यहाँ एक राउंडअप विधि के अपने संस्करण है, में इस कर सकते हैं विशिष्ट दशमलव
void Main()
{
Console.WriteLine(RoundUp(2.8448M, 2));
//RoundUp(2.8448M, 2).Dump();
}
public static decimal RoundUp(decimal numero, int numDecimales)
{
decimal valorbase = Convert.ToDecimal(Math.Pow(10, numDecimales));
decimal resultado = Decimal.Round(numero * 1.00000000M, numDecimales + 1, MidpointRounding.AwayFromZero) * valorbase;
decimal valorResiduo = 10M * (resultado - Decimal.Truncate(resultado));
if (valorResiduo < 5)
{
return Decimal.Round(numero * 1.00M, numDecimales, MidpointRounding.AwayFromZero);
}
else
{
var ajuste = Convert.ToDecimal(Math.Pow(10, -(numDecimales + 1)));
numero += ajuste;
return Decimal.Round(numero * 1.00000000M, numDecimales, MidpointRounding.AwayFromZero);
}
}
- 1. JSON को दशमलव को क्रमबद्ध करना, कैसे गोल करना है?
- 2. 2 दशमलव स्थानों पर गोल
- 3. sprintf में दशमलव स्थान truncate (गोल नहीं)?
- 4. टी-एसक्यूएल गोल दशमलव स्थानों पर
- 5. गोल दशमलव से निकटतम 10 वीं
- 6. MySQL दशमलव: गोल के बजाय मंजिल
- 7. सी # दशमलव गोल करने वाला असंगत है?
- 8. मैं .Net में दशमलव से 2 दशमलव स्थानों को कैसे गोल करूं?
- 9. NHibernate 3.0 दशमलव को 5 दशमलव स्थानों पर गोल करना - क्यों?
- 10. आईफोन में दशमलव संख्या को 2 अंकों से कैसे गोल करें?
- 11. जावास्क्रिप्ट में पूर्ण संख्या को घुमाएं/गोल करें?
- 12. नए पायथन प्रारूप समारोह के साथ गोल करने वाले दशमलव
- 13. मैं एक दशमलव को 0 दशमलव स्थानों तक विभाजित करने और गोल करने के लिए कैसे सेट कर सकता हूं?
- 14. कैसे 2 दशमलव अंक
- 15. दशमलव पर दशमलव कास्ट करें? (नल दशमलव)
- 16. दशमलव संख्या को सीमित कैसे करें?
- 17. मैं PHP में एक संख्या को कैसे गोल करूं?
- 18. एंटीटी फ्रेमवर्क चार दशमलव पर गोल करता है जब सब कुछ चार दशमलव
- 19. एक छवि के कोनों को गोल करें
- 20. एफ # में एक फ्लोट कैसे गोल करें?
- 21. दशमलव प्रतीक कैसे प्राप्त करें?
- 22. गोल या ट्रंकेट
- 23. PHP में बीसीएमएथ संख्या को गोल/छत/फर्श कैसे करें?
- 24. मैट्रिक्स में सभी मानों को कैसे गोल करें?
- 25. UITableView पर केवल कोनों को कैसे गोल करें?
- 26. वीबीए गोल समारोह
- 27. दशमलव स्थानों की एक निश्चित संख्या के बाद फ़्लोटिंग पॉइंट नंबर को कैसे छोटा करें (कोई गोल नहीं)?
- 28. दशमलव प्रकार को दशमलव प्रकार
- 29. "सुंदर गोल" कैसे बनाएं?
- 30. को तीसरा दशमलव प्लेस अप अजगर
करता 96.16 अप करने के लिए 96.154 दौर और नीचे दौर नहीं कैसे 96.15 करने के लिए? गोल करने के लिए विनिर्देशों का विस्तार करना अच्छा होगा –
इस लिंक को देखें http://stackoverflow.com/questions/11740989/rounding-decimal-value/11741129#11741129 – sabz23
क्या यह वास्तविक दशमलव प्रकार है, या डबल? – ken2k