C # Devise à la chaîne
Je suis de l'interrogation d'une base de données de champ qui retourne une valeur de l'argent, je suis de l'affectation de cette chaîne, mais c'est l'ajout de 00 sur la fin.
par exemple, la Requête renvoie 30.00
J'attribue cela à une chaîne de caractères (string value = Convert.ToString(ReturnValue);
)
mais quand je l'ai sortie, elle se montre comme 30.0000
Pouvez-vous me conseiller où je vais mal et la meilleure façon d'aborder cette question?
source d'informationauteur MartGriff
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les codes de format de chaîne de caractères dans votre ToString appel.
MartGriff,
Mon meilleur conseil serait de convertir une valeur de type double à l'aide de la SqlMoney type. À partir de là, vous pouvez sortir quand vous le souhaitez!
Voici un exemple:
Pour plus d'options de mise en forme, consultez le MSDN:
http://msdn.microsoft.com/en-us/library/system.double.tostring.aspx
Bonne chance, j'espère que cette aide.
Voulez-vous votre chaîne formatée à l'aide d'une monnaie personnage?
Si si...
J'aimerais utiliser quelque chose comme
Il utilise les méthodes ToString surcharge qui accepte une chaîne de format.
Au-dessus de la chaîne de format "0.00", qui indique deux décimales.
Je suis actuellement à l'élaboration d'un boatdock web du système, à l'aide de VS 2013 Community edition. J'ai essayé de travailler sur la façon de sortie à une valeur de la monnaie dans une zone de texte.
La méthode que j'ai utilisé était
fieldName.Texte = decimalValue.ToString("c");
Il fonctionne parfaitement.
Essayez ceci:
Dans SQLServer un type de données monétaire est l'équivalent d'un décimal à 4 décimales de précision. Je suppose que c'est la précision est conservée lorsque la décimale est converti en chaîne de caractères. La meilleure option serait d'utiliser un format de chaîne de caractères, par exemple "#,##0.00" lorsque vous effectuez la conversion.
Le type de données monétaire a une précision de 4 décimales. Vous devez spécifier le format de la ToString() arguments ou vous pouvez arrondir la valeur avant de les convertir en une chaîne de caractères.
Si vous utilisez .ToString() vous n'obtenez pas tout arrondi pour autant que je sais. Je pense que vous venez de perdre les chiffres.
Si autour de vous, vous ne vous contentez pas de les hacher off chiffres. Voici un échantillon pour l'arrondissement (code non testé):