我们正在开发一个企业级会计系统,我们有逻辑设计问题,到目前为止我们无法解决.
根据GAAP标准,所有金融交易必须仅在数据库中以一种货币存储,这是非常明显和逻辑的概念.但是当你拥有多国分支机构时,如何才能满足这一理念?
我们的情景:1.我们在美国设有分行,其中市场以美元作为违约货币.
2.我们在欧洲有许多分支机构,市场将欧元作为违约货币.
3.我们在迪拜设有总部,市场以AED作为默认货币.
4.为了使每个分支具有最小停机时间,系统具有本地部署.
5.所有本地系统必须定期将数据与位于总部的中央数据库同步.
问题:
1.解决这些问题的ERP"SAP,SAGE和MS-dynamics"使用的解决方案是什么?
2.我们考虑创建两种默认货币:
a.全局默认货币,在我们的方案中将是AED.
湾 本地默认货币"总部有AED,美国有美元,欧洲有欧元".
它是否可以接受解决方案还是被视为违反会计准则?
3.请提供参考(如果有的话)?
谢谢,
我正在尝试使用此函数将字符串转换为货币格式,并尝试创建这样的内容:
350000000
to
350.000.000,00
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的所有尝试都失败了,这是最后一次:
setlocale(LC_MONETARY, 'pt_PT.UTF-8@euro');
echo money_format('%.2n', $preco);
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.干杯!
我需要将十进制货币值显示为字符串,其中美元和美分与中间的文本分开.
123.45 => "123 Lt 45 ct"
Run Code Online (Sandbox Code Playgroud)
我提出了以下解决方案:
(value*100).ToString("#0 Lt 00 ct");
Run Code Online (Sandbox Code Playgroud)
但是,这种解决方案有两个缺点:
有没有其他优雅而简单的解决方案?
我正在尝试复制用C#中的Icon编写的文本报告.该报告包括:
Blah Blah........ $ 10,938.09
Blah Blah........ $ 3.88
Blah Blah........ $ 102,398.11
Run Code Online (Sandbox Code Playgroud)
我可以使用多个格式化调用来解决这个问题,例如:
Console.WriteLine(string.Format("Blah Blah.....${0,10}", number.ToString("#,##0.00")));
Run Code Online (Sandbox Code Playgroud)
但我认为有一种方法可以通过一次调用string.Format()来实现.知道如何以货币格式插入前导空格吗?
所以我对如何在数据库中存储"钱"进行了一些研究,我认为我想要使用的系统是
将Money转换为CENTS,然后将CENTS存储在字段类型为DECIMAL(19,4)的MySQL DB中.
我的问题是,如果我有一个来自用户的输入字段...我该如何处理多种输入类型.IE:
$input = "1,346.54"
$input = "10,985.23"
$input = "110,400.50"
$input = "1033.44"
Run Code Online (Sandbox Code Playgroud)
等等......
将此转换为CENTS的最佳方法是什么?因为我们必须处理'字符串'并将它们转换为INT,然后除以100 ...我尝试的所有内容都会因为与数字的"逗号"分离而引发问题.
任何想法或方向将不胜感激.
我正在研究可能在全球范围内部署的桌面应用程序.国际化的最大问题是货币.几个问题:
我正在使用支持该MONEY类型的SQL Server Compact Edition .我的第一个问题是,无论用户的文化如何,它都能处理数据存储吗?
我的第二个问题是数据处理.我知道我可以使用"C"格式字符串,我想这可以显示,但是在保存时如何处理用户输入的值?是否有一种标准的方法来解析输入的值并将其保存到MONEY字段中,同时具有文化意识并且不必为任何类型的异常编写?
我在WPF中使用C#,但我猜这可能是一个近乎通用的解决方案.
我有任意字符串与货币100,00€或$100.00或100.00USD(任意长度,地球上的任何有效货币符号和ISO代码)...(= like 100.000.000,00 EUR).无法保证货币是正确的,可能是无效的符号或字符,也可能是错误的位置(在数字之前或之前)......
最简单的方法是什么:
我知道NumberFormat/CurrencyFormat但是这个类只有在事先知道确切的语言环境并且似乎只能正确地设置格式化字符串时才有用... asw只返回数字,而不是货币......
非常感谢你!马库斯
我试图了解货币格式在.NET框架中的工作原理.据我了解,Thread.CurrentCulture.NumberFormatInfo.CurrencySymbol包含本地文化的货币符号.
但正如我所看到的,在现实世界中,特定文化与货币符号之间并没有明确的一对一关系.例如,我可能位于英国,但我用欧元计算我的发票.或者我可能住在冰岛,并以美元收到美国供应商的发票.或者我可能住在瑞典,但我的银行账户使用欧元.我意识到,在某些情况下,您可能只想假设本地货币是要使用的货币,但通常情况并非如此.
在这些情况下,我是否会克隆CultureInfo并在克隆上手动设置货币符号,然后在格式化金额时使用克隆?即使货币符号无效,我认为使用NumberFormatInfo的其他属性仍然有意义,例如CurrencyDecimalSeparator.
我目前正在使用iPhone应用程序,使用NSLocale使当前的货币符号正常工作,但是当我按下主页按钮时,应用程序进入后台进程并更改货币(设置>>国际>> Regionformat >>像美国,印度等...)以这种方式,然后从背景打开该应用程序货币符号没有改变,但我导航到另一个屏幕然后来到前一个屏幕只有货币改变,但我想当我从背景打开应用程序,然后货币符号自动更改.如何解决这个问题?我需要你的帮助
谢谢
我试过这里的代码:
NSLocale *theLocale = [NSLocale currentLocale];
Getdollarsymbol = [theLocale objectForKey:NSLocaleCurrencySymbol];
NSString *Code = [theLocale objectForKey:NSLocaleCurrencyCode];
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个货币格式的文本框,但它不起作用.
XAML:
<TextBox x:Name="_valueTxt" Text="{Binding Amount, StringFormat={}{0:C}}"/>
Run Code Online (Sandbox Code Playgroud)
代码背后:
...
string _amount;
public string Amount
{
get { return _amount; }
set { _amount = value; }
}
...
public MyWindow()
{
Amount = "1235533";
InitializeComponent();
}
Run Code Online (Sandbox Code Playgroud)
我希望在我的文本框中看到的价值:
$ 1.235.533,00
但它显示:
1235533
currency ×10
c# ×4
formatting ×2
php ×2
accounting ×1
decimal ×1
erp ×1
ios ×1
iphone ×1
java ×1
mask ×1
money-format ×1
mysql ×1
nslocale ×1
refresh ×1
sqldatatypes ×1
string ×1
textbox ×1
tostring ×1
wpf ×1