货币符号(100分)

  • 主题发起人 主题发起人 once
  • 开始时间 开始时间
O

once

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在的问题是想在程序中处理多种货币,当然货币的符号也要不一样,请问怎样才能做到这一点?
(谁知道怎样在程序中动态改变系统的货币符号?以让系统能够显示多种货币形式?)
 
货币可以在控制面板中的区域设置中进行设置。但每次都是一样的,不能设成多种
符号。如果你不同时显示多种符号的话,可以修改注册表,每次显示时,改成你需要
的货币符号。
 
Delphi中对应于Control panel中的国家语言信息设置, 设有以下
参数:

var CurrencyString: string;
var CurrencyFormat: Byte;
var NegCurrFormat: Byte;
var ThousandSeparator: Char;
var DecimalSeparator: Char;
var CurrencyDecimals: Byte;
var DateSeparator: Char;
var ShortDateFormat: string;
var LongDateFormat: string;
var TimeSeparator: Char;
var TimeAMString: string;
var TimePMString: string;
var ShortTimeFormat: string;

var LongTimeFormat: string;
var ShortMonthNames: array[1..12] of string;
var LongMonthNames: array[1..12] of string;
var ShortDayNames: array[1..7] of string;
var LongDayNames: array[1..7] of string;

var SysLocale: TSysLocale;
var EraNames: array[1..7] of string;
var EraYearOffsets: array[1..7] of Integer;
var TwoDigitYearCenturyWindow: Word = 0;
var TListSeparator: Char;

你可以修改这些参数(直接赋值), 然后调用相应的函数
如 FormatCurr或是CurrToStr等来进行变换.

如果没有金融符号出现, 你可以自己定义一个字符串数组保存
不同货币的金融符号.
 
自己定义, 不要用formatcurr之类的函数.
 
请问WWW,你知道如何去修改注册表中的货币符号?可否具体点?(最好有例程)谢谢。
 
光显示还不行,关键是如何打印输出!
 
将字段的Curreny属性置为False,
然后设置DisplayFormat,
对显示和打印都有效。
 
各位大虾:

我已经按照一位大虾的方法,解决了一点点问题。现在我不需要加货币符号了。我现在用这种格式来表示货币:111,000.00。但是问题是,如果我编辑这个数据的话,(比如我想把111,000.00改成111,090.00,我把左数第一个0删除,增加一个9,保存时会报错,说这个不是浮点型数据),请问我该怎么设置字段的编辑格式才不会发生该类错误呢?
 
来自:once 时间:00-1-6 13:08:40 ID:172910
各位大虾:
我已经按照一位大虾的方法,解决了一点点问题。现在我不需要加货币符号了。
我现在用这种格式来表示货币:111,000.00。但是问题是,如果我编辑这个数据的话,
(比如我想把111,000.00改成111,090.00,我把左数第一个0删除,增加一个9,保存时
会报错,说这个不是浮点型数据),请问我该怎么设置字段的编辑格式才不会发生该类
错误呢?

答:俺没看懂

 
附加功能 将问题提前
 
once:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部