en C#, tengo un precio variable doble con valor 10215.24. Quiero mostrar el precio con una coma después de algunos dígitos. Mi salida esperada es 10,215.24C#: Formato Valor de precio cadena
Respuesta
myPrice.ToString("N2");
dependiendo de lo que desea, también puede desear mostrar el símbolo monetario:
myPrice.ToString("C2");
(El número después de la C o N indica el número de decimales se debe utilizar). (C formatea el número como una cadena de moneda, que incluye un símbolo de moneda)
Para ser completamente políticamente correcto, también puede especificar el CultureInfo que se debe utilizar.
Creo que "N2" es lo que buscan. –
¿No es el 2 tipo de incumplimiento? ¿Entonces solo necesitarías 'myPrice.ToString (" N ")'?No es importante, solo curiosidad: p – Svish
C2 es incorrecto, porque eso muestra la moneda –
creo que esto debería hacerlo:
String.Format("{0:C}", doubleVar);
Si no desea que el símbolo de la moneda, a continuación, sólo hacer esto:
String.Format("{0:N2}", doubleVar);
No creo que quisieran un símbolo de moneda. –
esta respuesta es perfecta. Sin embargo, también eche un vistazo a http://msdn.microsoft.com/en-us/library/fht0f5be.aspx para otros tipos de formato. – James
Mira en format strings, específicamente "Maíz".
double price = 1234.25;
string FormattedPrice = price.ToString("N"); // 1,234.25
Como nota al margen, recomendaría buscar en el tipo Decimal de moneda. Evita los errores de redondeo que afectan a los flotantes, pero a diferencia de Integer, puede tener dígitos después del punto decimal.
De hecho. Los decimales deben usarse para cosas donde la precisión importa. –
En ciertas aplicaciones financieras, es completamente ilegal usar flotadores porque todo el redondeo debe hacerse de la manera prescrita. La alternativa donde un tipo de clase Decimal o BigNumbers no está disponible es usar enteros para almacenar fracciones de una unidad monetaria. Entonces, por ejemplo, podríamos contar centavos o fracciones de los mismos. –
¿No es verdad que los errores de coma flotante están aislados para los chips Intel y compatibles? –
Esto podría ayudar a
String.Format("{#,##0.00}", 1243.50); // Outputs “1,243.50″
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1243.50); // Outputs “$1,243.50″
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", -1243.50); // Outputs “($1,243.50)″
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0); // Outputs “Zero″
la que desea es "N2".
Aquí se muestra un ejemplo:
double dPrice = 29.999988887777666655554444333322221111;
string sPrice = "£" + dPrice.ToString("N2");
Puede ser que incluso así:
string sPrice = "";
if(dPrice < 1)
{
sPrice = ((int)(dPrice * 100)) + "p";
} else
{
sPrice = "£" + dPrice.ToString("N2");
}
que se condensa muy bien a esto:
string sPrice = dPrice < 1 ? ((int)(dPrice * 100)).ToString("N0") + "p" : "£" + dPrice.ToString("N2");
lecturas adicionales al msdn.microsoft.com/en-us/library/fht0f5be.aspx para varios otros tipos del formato
- 1. magento precio getPrice() valor
- 2. Objective-C: Cómo formatear una cadena como $ Precio
- 3. formato de cadena en C#
- 4. precio de formato como separado por comas
- 5. Android: Formato de cadena con valor doble
- 6. de formato doble como cadena en C#
- 7. Cadena de formato Objective-C para booleano?
- 8. Cadena de formato como el número de teléfono en C#
- 9. Formato de valor decimal a cadena con espacios iniciales
- 10. java formato decimal cadena
- 11. Cadena de formato dinámicamente
- 12. pitón, cadena de formato
- 13. Cómo obtener advertencias de formato de cadena incorrecto (C++)
- 14. Entrena el formato de cadena utilizado para el formato DateTime
- 15. Convertir cadena de formato binario a int, en C
- 16. ¿Cómo implementar C++ 0x literal de cadena sin formato?
- 17. array c - advertencia: formato no literal de cadena
- 18. analizar una cadena de "año-mes-día" formato en C#
- 19. cómo agregar {en la cadena de formato C#
- 20. Formato de cadena de anidación
- 21. Android: formato de fecha en una cadena
- 22. php formato sprintf cadena
- 23. formato de cadena para números o divisa?
- 24. Formato de cadena en MySQL
- 25. cadena con formato de ArrayList
- 26. WPF Cadena formato de preguntas
- 27. Arduino Cadena de formato Problema
- 28. Cadena de formato por CultureInfo
- 29. Formato doble en C#
- 30. Precio del control de conmutación entre C++ y Python
Las respuestas que ha obtenido sugiriendo .ToString ("N") son buenas. Solo quiero señalar que la salida dependerá del CultureInfo actual; Ésto es una cosa buena. En mi sistema (localidad sueca), imprime "10 215,24", lo cual tiene sentido para mí, ya que "10,215.24" tiene sentido para usted. Solo tenga en cuenta que puede tener problemas si intenta analizar esta cadena * de nuevo a un DateTime *. –
@Fredrik: ¿Por qué lo analizaría de nuevo a * DateTime *? –
Su cerebro probablemente cambió de engranaje a mitad de la frase: p – Svish