我想要实现的是获取美元货币金额,并将其分解为使用每种类型中最少的金额来计算每个账单和硬币的数量.
我匆匆写了这篇文章,它有效,但我觉得它可以改进.此外,我不得不围绕其余部分,因为我得到一个奇怪的结果一旦它得到像(0.13 - (1*0.1)而不是0.3它会出现0.299999995
下面的代码确实有效.
function moneybreak ($amount, $sizebill) {
// get units of sizecurrency
$numbills = floor($amount / $sizebill);
$remainder = $amount - ($numbills * $sizebill);
$remainder = round($remainder, 2);
$ret['bills'] = $numbills;
$ret['remain'] = $remainder;
return $ret;
}
$amount = 1999.99;
$money = array();
$tmoney = moneybreak($amount, 500);
$money['fivehundred'] = ($tmoney['bills'] > 0) ? $tmoney['bills'] : 0.00;
$tmoney = moneybreak($tmoney['remain'], 100);
$money['onehundred'] = ($tmoney['bills'] > 0) ? $tmoney['bills'] : 0.00;
$tmoney = moneybreak($tmoney['remain'], 20);
$money['twenty'] = ($tmoney['bills'] > …Run Code Online (Sandbox Code Playgroud) 所以我已经看到了其他问题,但我不能为我的生活让我的网格格式我的浮动作为货币.这是我的简单项目,它有一个名为gridcontrol1的网格控件,有4列,我希望最后一个是货币,另外3个是字符串.
public partial class Form1 : Form
{
private DevExpress.XtraGrid.GridControl gridControl1;
private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
private DevExpress.XtraGrid.Columns.GridColumn gridColumn4;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ArrayList test = new ArrayList();
test.Add(new MyObject() { myCurrency = 1.5F, prop1 = "hi", prop2 = "hi2", prop3 = "hi3" });
gridColumn4.DisplayFormat.FormatString = "c";
gridColumn4.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
gridControl1.DataSource = test;
gridControl1.MainView.PopulateColumns();
gridControl1.RefreshDataSource();
}
}
public class MyObject
{
public string prop1 { …Run Code Online (Sandbox Code Playgroud) 鉴于这个简单的Money对象查询
Money.new(1000, "USD").to_s
=> "10.00"
Run Code Online (Sandbox Code Playgroud)
如何用符号显示值?我知道我可以打电话money_object.symbol但是有些货币会在价值之前和之后放置符号.我很确定应该有一些简单的方法吗?通过阅读文档找不到它.
我正在使用i18n/locales/he_IL(iso-8859-8)在perl中进行翻译.但是我无法使用这个获得新的谢克尔符号.如何在perl中获得相同的新谢克尔符号?
我使用此代码 currency_symbol"<U05E9> <U05D7>".
我也尝试过currency_symbol"<U20AA>"
在此先感谢您的帮助.
我想格式化并显示BigDecimal始终为分数的数字.不应该显示其他分隔符.我怎么能实现它?以下不起作用.
NumberFormat formatter = NumberFormat.getNumberInstance(Locale.GERMANY);
formatter.setMaximumFractionDigits(2);
formatter.setMinimumIntegerDigits(2);
Sysout(formatter.format(new BigDecimal(100))); //would expect "100,00", but printout is "100"
Run Code Online (Sandbox Code Playgroud) 我想将 Skrill 集成到我的基于 php 的网站中。问题是,我一般是 PHP 和 Web 开发的新手,我没有足够的知识来做这件事。谁能建议一个初学者友好或至少易于理解的指南,以便我可以集成它?
我对此遇到了麻烦,因为我有 3 位数代码(美元、欧元、COP 等)的货币。
如果你去使用函数 setlocale 你需要做这样的事情:
setlocale(LC_MONETARY, 'en_US');
看看你传递的是“en_US”而不是“USD”。我怎样才能知道用户选择的每种货币的 LC_MONETARY 的相应语言环境,以便与 setlocale 一起使用。
此外,在我的网站中,货币与语言无关,例如,您的网站是西班牙语,但您可以看到美元的货币。这将导致像这样的语言环境:es_US ???? 我相信它不支持。
谢谢。
我在Laravel 4和MySQL中使用PHP,我不知道如何处理货币价值.
我想用这种格式显示它们:
120,50€
1.000,50€
Run Code Online (Sandbox Code Playgroud)
金额字段是类型DECIMAL(12,2).
我应该保存喜欢12050或喜欢的金额120,50吗?
我正在处理浮动64的货币表示.例如,2.9美元代表2.90美元,所以如果我需要将其转换为货币的最低面额,我只需乘以100(2.9*100 = 290美分).
这适用于大多数主要货币.但是,在日本,例如,float64表示不会有小数,因为Yen已经是最低的表示.如果我得到浮动64(290)日元,如果我试图获得最低面额,则乘以100会得到过多的日元 - 它应保持不变.
除了特殊套管之外,对于某些货币乘以100时,最好的办法是什么?
编辑:我有两条信息是浮动表示和ISO货币代码.
currency ×10
php ×3
money-format ×2
android ×1
api ×1
bigdecimal ×1
c# ×1
decimal ×1
devexpress ×1
go ×1
gridcontrol ×1
integration ×1
java ×1
laravel ×1
locale ×1
mysql ×1
perl ×1
setlocale ×1
translation ×1
winforms ×1