J'essaie d'afficher une valeur monétaire dans une grille, mais je ne veux pas le symbole monétaire à afficher:Comment utiliser l'AsCurrency de Delphi pour afficher la devise sans le symbole monétaire?
if fPreferences.WorksheetFormat = 'Numeric' then
begin
CurrencyString := '';
Value := FieldByName('UnitList').AsCurrency;
end else
Value := CurrToStrF(FieldByName('UnitList').AsCurrency, ffCurrency, 2, langFormat);
Le problème est qu'il est toujours montrant le symbole monétaire. Qu'est-ce que je fais mal ici? Je ne pense pas pouvoir utiliser CurrToStrF, car j'ai besoin de la grille pour exporter un nombre vers Excel, pas une chaîne. Ou, est-ce que je peux utiliser AsFloat, mais avec des décimales? (100.00)
Mais je suis en train de formater la valeur qui sera une monnaie, pas la valeur qui sera réglée avec CurrToStrF - comment puis-je changer la valeur de la monnaie pour ne pas afficher le symbole monétaire? – croceldon
Je ne suis pas certain de comprendre ... Le symbole de devise n'est pas lié à une valeur de devise mais à un paramètre FormatSettings, celui par défaut utilisé par défaut lorsqu'il n'est pas spécifié ou un paramètre spécifique comme votre 'langFormat.CurrencyString'. Donc, si votre valeur est une devise, elle restera une devise mais sera affichée par défaut en fonction de la chaîne monétaire globale. Si vous le changez de '$' à '@', votre valeur sera alors affichée comme @ 12.34 au lieu de $ 12.34 comme avant. –