我有一个十进制数字,比如1234.500.
我想让它显示1,234.4
我目前正在将其转换为双倍以删除尾随的'0'.
string.Format("{0:0,0}",1234.500)删除小数位,其他格式选项似乎使用两个小数位.
有人能提供见解吗?
想要删除所有0放在某个变量的开头.
一些选择:
$var = 0002,我们应该剥离第一000($var = 2)var = 0203410我们应该删除第一个0($var = 203410)var = 20000- 什么都不做($var = 20000)解决办法是什么?
对于我的一个类中的项目,我们必须输出最多五位小数.输出可能是一个复数,我无法弄清楚如何输出一个带有五位小数的复数.对于花车我知道它只是:
print "%0.5f"%variable_name
复杂的数字有类似的东西吗?
我有一个号码12343423455.23353.我想用千位分隔符格式化数字.所以输出就是 12,343,423,455.23353
我需要以xxx-xxxx的形式返回一个字符串,其中xxx是一个数字而xxxx是另一个数字,但是当我有前导零时,它们就会消失.我正在尝试使用数字格式化程序,但它不起作用.
public String toString(){
NumberFormat nf3 = new DecimalFormat("#000");
NumberFormat nf4 = new DecimalFormat("#0000");
if( areaCode != 0)
return nf3.format(areaCode) + "-" + nf3.format(exchangeCode) + "-" + nf4.format(number);
else
return exchangeCode + "-" + number;
}
Run Code Online (Sandbox Code Playgroud)
}
我想到了:
public String toString(){
NumberFormat nf3 = new DecimalFormat("000");
NumberFormat nf4 = new DecimalFormat("0000");
if( areaCode != 0)
//myFormat.format(new Integer(someValue));
return nf3.format(new Integer(areaCode)) + "-" + nf3.format(new Integer(exchangeCode)) + "-" + nf4.format(new Integer(number));
else
return nf3.format(new Integer(exchangeCode)) + "-" + nf4.format(new Integer(number));
}
Run Code Online (Sandbox Code Playgroud) 可以使用以下代码将工具提示设置为显示百分比:
var formatter = new google.visualization.NumberFormat({
fractionDigits: 2,
suffix: '%'
});
formatter.format(data, 1); // Apply formatter to first column.
NumberFormat有没有办法将每个元素乘以100?否则,工具提示显示为.50%.
我使用的vAxis.format = "format:'#%' "是乘以100.因此.5在垂直轴上显示为50%.
根据文档(icu-project.org/apiref),可以通过将%括在单引号中来覆盖,但这不起作用.
最终结果是工具提示与轴不匹配.做这个的最好方式是什么?
谢谢.
我无法将长(美分)转换成货币格式.
我的代码:
long doublePayment = 1099; //Should equal $10.99
DecimalFormat dFormat = new DecimalFormat();
String formattedString = dFormat.format(doublePayment);
System.out.println(formattedString);
Run Code Online (Sandbox Code Playgroud)
产量:1,099
我也尝试过:
long doublePayment = 1099;
NumberFormat n = NumberFormat.getCurrencyInstance(Locale.US);
String s = n.format(doublePayment);
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
由于这是美分,输出应为10.99或10.99美元.
无法弄清楚我做错了什么.谢谢!!!
我想使用复杂数字的C++.因此我包括在内#include <complex>.现在我的问题是:如何声明一个变量?(那么调用的格式是什么1 + i呢?)
提前致谢 :-)
检查它是否可以是一个int很容易 - 只需检查每个数字是否在'0'和之间'9'.但浮动更难.我找到了这个,但没有一个答案真的有效.请考虑此代码段,基于顶部(已接受)答案:
float f;
int ret = sscanf("5.23.fkdj", "%f", &f);
printf("%d", ret);
Run Code Online (Sandbox Code Playgroud)
1 将被打印.
另一个答案建议使用strpbrk,检查是否存在某些非法字符,但这不会起作用,因为5fin7这不合法,但inf会.
另一个答案建议检查strtod的输出.但考虑一下:
char *number = "5.53 garbanzo beans"
char *foo;
strtod(number, &foo);
printf("%d", isspace(*foo) || *foo == '\0'));
Run Code Online (Sandbox Code Playgroud)
它会打印出来1.但我不想isspace完全删除呼叫,因为" 5.53 "应该是一个有效的号码.
有没有一种优雅,优雅,惯用的方式去做我想做的事情?
如何在不使用公式的情况下将整数显示为整数,但小数仅限于特定的小数位数。
例如显示:
1作为1,12作为12,但是1.23456789作为1.23?
数字格式0.##很接近,但显示1为1.等。