DataFormatString="{0:F2}"
in meiner ascx Seite für Wert 0,0001 Ergebnisse in „0,00“ zu größerem Wert Runden und was ich brauche, ist „0,01“, das weg von Null rundet. Ist es möglich, in asp.net mit DataFormatString zu erreichen, oder sollte ich eine benutzerdefinierte Rundungsmethode verwenden?Dataformatstring dezimal
0
A
Antwort
3
Sie können dies nicht durch irgendeine Art von Rundung erreichen. 0,0001 in 2 Ziffern wird immer 0.00.
Wenn Sie das wirklich wollen, müssen Sie eine Konvertierungsmethode schreiben. Schreiben Sie zuerst die Spezifikationen aus.
Dataformatstring schlägt eine datengebundene Steuerelement, so dass Sie wie ein extra (berechnet) Spalte mit etwas benötigen r = (v < 0.01 && r > 0.0) ? 0.01 : v;
0
du versuchen:
float fno=2.67f;
int no=Convert.ToInt32(fno);
//using Math.Round Function
decimal d=Math.Round(Convert.Toint64(fno));
//if we want after point 2 decimal then
decimal d=Math.Round(Convert.Toint64(fno),2);
0
/// <summary>
/// Formats a number using a format string without rounding.
/// </summary>
/// <param name="value"></param>
/// <param name="formatString"></param>
/// <returns></returns>
public static string Format(object value, string formatString)
{
double val;
if (!Double.TryParse(value.ToString(), out val))
{
return "";
}
// Special handling for decimals
if (formatString.Contains("."))
{
int multiplier = (int)Math.Pow(10, getDecimalPlaces(formatString) + 1);
// Handle percentage
if (!formatString.Contains('%'))
{
multiplier /= 100;
}
return (Math.Truncate(val * multiplier)/multiplier).ToString(formatString); // prevent rounding by truncating
}
return val.ToString(formatString);
}
Verwandte Themen
- 1. TimeSpan DataFormatString in Gridview
- 2. Set DataFormatString auf DataGridView zur Laufzeit?
- 3. Data Grid DataFormatString Formatierung funktioniert nicht
- 4. GridView DataFormatString-Probleme. Doudle in TimeStamp konvertieren
- 5. Unterschied zwischen Dezimal und Dezimal
- 6. In C# sind Dezimal und Dezimal unterschiedlich?
- 7. Daten Anmerkungen mit Dezimal nicht funktioniert
- 8. Python Dezimal
- 9. PicklingError: Kann nicht <Klasse> Dezimal Dezimal '>: Es ist nicht das gleiche Objekt wie Dezimal Dezimal
- 10. So beheben Sie das Datumsformat in ASP .NET BoundField (DataFormatString)?
- 11. DataFormatString in meiner Gridview funktioniert nicht in SharePoint
- 12. Was ist der effektive DataFormatString, wenn keiner verwendet wird?
- 13. Verwenden Sie eine Variable in asp.net Dataformatstring ascx
- 14. ArithmeticException: "Nicht-abschließende Dezimal-Erweiterung; kein exakt darstellbares Dezimal-Ergebnis"
- 15. Entitätscode zuerst - erforderlich Dezimal
- 16. Dezimal konvertieren? verdoppeln?
- 17. String zu dezimal
- 18. Split 'Dezimal' in VB.NET
- 19. Wie wird Dezimal angezeigt?
- 20. Dezimal zu Bit (Binär)
- 21. C# IEEE754 zu dezimal
- 22. SQL Bigint * Dezimal
- 23. Pandas mit Dezimal?
- 24. Dezimal-Genauigkeit Code-Flux
- 25. "Für Geld, immer dezimal"?
- 26. PHP Modulo Dezimal
- 27. Überregionales Dezimal-/Doppelparsing
- 28. Null Nachgestellte auf dezimal
- 29. Dezimal nicht richtig gerundet
- 30. Python-Dezimal zu Zeichenkette
.01 ist 100-mal größer als .0001. – StuartLC
Es ist in der Tat so. Aber 0,0001 ist größer als 0,00 und ich möchte 0,0001 auf einen größeren Wert runden, wobei Minimum 0.01 ist, aufgrund von {0: F2} Formatierungszeichenfolge – jjjjj