在我的iPhone应用程序中,我NSDecimalNumber用来存储一些货币汇率值.我在第一次启动应用程序时从Web上提取数据,然后在它们过时时再次从中提取数据,然后将它们存储在一个NSDictionary; 然后我用writeToFile:atomically:.
当应用程序首次启动时,我的速率转换方法可以正常工作.然而,当我第二次启动应用程序时,速率加载-(NSDictionary*) initWithContentsOfFile:转换方法停止工作,我得到奇怪的结果.
我在有罪的方法中使用断点进行了一些调试,我发现速率数据被视为NSCFNumber,而不是NSDecimalNumber.所以似乎initWithContentsOfFile没有为我的对象分配正确的类.对于记录,这些对象的实际值(如description方法中所示)对应于预期的速率值.
我还检查了生成的plist文件writeToFile:atomically:,并看到速率存储为real; 我想知道这是否是正确的类型.
什么事情都在发生?
在此先感谢
Davide
在SharePoint中,我可以创建"Number"类型的列表列.我需要存储货币金额,并希望能够使用此列类型而不必创建新的列类型.
SharePoint是否存储和操作此类型的值(例如,在列表视图中对值进行求和时)以防止精度损失(即不是某种近似浮点类型)?
我查看了货币列,但它们似乎强制显示一个货币单位,这在我的申请中没有意义(我怀疑它们被存储为发动机罩下的'数字').
假设我在Java中有一个代表金钱的小数值.
绕过这些价值观的最佳方法是什么?
例如,如果我有一个基于税率计算的值,并且我最终得到的结果是,例如,5.3999999999999995作为税额,我应该将其舍入到2位小数,只需这样做:
double d = 5.3999999999999995
BigDecimal bd = new BigDecimal(d).setScale(2, RoundingMode.HALF_EVEN);
d = bd.doubleValue();
Run Code Online (Sandbox Code Playgroud)
产生货币价值:
5.40
Run Code Online (Sandbox Code Playgroud) 有没有一种明显的方法在C++中执行货币格式化?
例如:1978879将成为1'978'879
谢谢
我现在正在参加C++课程并完成了我的最终任务.然而,有一件事让我烦恼:
虽然我对测试正确的输出上的特定输出时,basepay应该是133.20,它会显示为133.2.有没有办法让这个显示额外的0而不是让它关闭?
任何人都知道它是否可能以及如何做到这一点?先感谢您
我的代码如下:
cout<< "Base Pay .................. = " << basepay << endl;
cout<< "Hours in Overtime ......... = " << overtime_hours << endl;
cout<< "Overtime Pay Amount........ = " << overtime_extra << endl;
cout<< "Total Pay ................. = " << iIndividualSalary << endl;
cout<< endl;
cout<< "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" <<endl;
cout<< "%%%% EMPLOYEE SUMMARY DATA%%%%%%%%%%%%%%%%%%%%%%%" <<endl;
cout<< "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" <<endl;
cout<< "%%%% Total Employee Salaries ..... = " << iTotal_salaries <<endl;
cout<< "%%%% Total Employee …Run Code Online (Sandbox Code Playgroud) 我对C#和.NET Framework有基本的了解,我已经获得了建立POS(销售点)屏幕的任务,我目前正在尝试将一个与货币相关的字符串转换为双倍的小砖墙.
我在屏幕上有两个列表框和几个产品按钮,按钮使用提供给我们的库类填充(基本上显示我们可以使用组件)
一个列表框保存产品名称,而另一个列表框保存该产品的价格,当选择产品按钮时,它从按钮文本中获取产品名称,并且在其标记内有价格被添加到价格列表框中.
我的问题是我想在列表框中显示价格作为货币也显示所有'0'我可以通过执行以下操作来做到这一点没问题
value.ToString("C");
string.Format("{0:C}",value);
Run Code Online (Sandbox Code Playgroud)
或使用转换等.
虽然因为我已经这样做了,如果我想通过双击从列表中删除一个项目我需要从总数中拿走价格,所以我需要转换回到双倍,尽管因为它的当前格式我得到一个错误试图执行我已经环顾四周的那个动作,我无论如何都无法找到它,我能看到的唯一选择就是保留字符串值,而不是将其转换为货币格式.
the ERROR: {"Input string was not in a correct format."}
Run Code Online (Sandbox Code Playgroud)
代码片段
private void panelBtns_Click(object sender, EventArgs e)
{
Button panelBtn = (Button)sender;
lstProduct.Items.Add(panelBtn.Text);
double price = Convert.ToDouble(panelBtn.Tag);
>>CURRENCY FORMAT>> lstPrice.Items.Add(string.Format("{0:C}",price));
dblTotal = dblTotal + Convert.ToDouble(panelBtn.Tag);
lblTotal.Text = string.Format("{0:C}", dblTotal);
lblOutput.Text = "0";
lblOutput.Tag = "0";
}//End Panel Buttons
private void lstProduct_DoubleClick(object sender, EventArgs e)
{
int index = lstProduct.SelectedIndex;
lstPrice.SelectedIndex = lstProduct.SelectedIndex ;
>> ERROR HERE >> double price = Convert.ToDouble(lstPrice.GetItemText(lstPrice.SelectedItem)); …Run Code Online (Sandbox Code Playgroud) 我只是想问一下如何制作输入类型文本的货币格式的JavaScript.键入数字时,数字是否可能包含逗号?另外,如何使用2位十进制数来固定数字.如果我输入3个十进制数字,则最后一个数字将四舍五入,因此它可以是2个十进制数.
我有一个仅接受数字的文本框,我希望它自动将数字转换为货币格式.1234.556将是Php 1,234.56.(Php意为菲律宾比索)
这是我的输入类型文本:
<input type="text" name='Etxt11' placeholder="Proposed price" onblur="this.value = 'Php ' + formatNumber(this.value)" />
Run Code Online (Sandbox Code Playgroud) 为简单起见,我将提供一个示例:
{
"AED": "united Arab Emirates Dirham",
"AFN": "Afghan Afghani",
...
"ZWL": "Zimbabwean Dollar"
}
Run Code Online (Sandbox Code Playgroud)
我希望将它们添加到一个文件中,我可以在不同的时间不断添加不同的货币组.该文件应具有货币代码名称的列(例如"AED")和名称的另一列.
我真的不知道从哪里开始.将非常感谢帮助指出我正确的方向.
我的字典代码如下:
import json
import urllib.request
def _fetch_currencies():
f = urllib.request.urlopen(
'http://openexchangerates.org/api/currencies.json')
charset = f.info().get_param('charset', 'utf8')
data = f.read()
decoded = json.loads(data.decode(charset))
print(json.dumps(decoded, indent=4))
Run Code Online (Sandbox Code Playgroud) 我必须通过使用货币字符串格式将雷从欧元兑换成欧元.我的方法是:
public static void ConvertFromRonEur()
{
//string amount = string.Format("{0:C}");
double result;
Console.WriteLine("Lei: ");
double quantity;
double euro = 0.22D;
quantity = double.Parse(Console.ReadLine());
result = quantity * euro;
Console.WriteLine(("{0:C} Euro"), result);
}
Run Code Online (Sandbox Code Playgroud)
当我运行结果时:
Lei:
10
$2,20 Euro
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得2,20欧元结果,但是使用字符串格式化货币?谢谢.
我正在尝试制定一个计算给定金额的等价变化量的程序.程序中的所有内容都运行良好,直到我得到便士.当我得到便士时,我已经做了很多浮点算术,这个值变得不准确.这是输出:
正如我们所看到的,而不是具有0.2(我会被分0.1拿到2,正确答案),我们有019999999999959064(当由0.01分获得便士的量,我们得到1不2).如何解决这个问题,以便获得正确数量的便士?
currency ×10
c# ×2
c++ ×2
formatting ×2
java ×2
casting ×1
cocoa ×1
cocoa-touch ×1
dictionary ×1
double ×1
file ×1
format ×1
iostream ×1
iphone ×1
javascript ×1
math ×1
objective-c ×1
python ×1
rounding ×1
sharepoint ×1
string ×1