使用sprintf和一般语法"%A.B"
我可以这样做:
double a = 0.0000005l;
char myNumber[50];
sprintf(myNumber,"%.2lf",a);
我可以在格式字符串中动态设置A和B吗?
答案 0 :(得分:9)
是的,你可以这样做。您需要使用星号*
作为字段宽度,使用.*
作为精度。然后,您需要提供带有值的参数。像
sprintf(myNumber,"%*.*lf",A,B,a);
注意:A
和B
需要输入int
。从C11
标准,章节§7.21.6.1, fprintf()
函数
...字段宽度或精度或两者都可以用星号表示。在 在这种情况下,
int
参数提供字段宽度或精度。指定字段宽度或精度或两者的参数应在要转换的参数(如果有)之前(按此顺序)出现。负字段宽度参数被视为-
标志,后跟正字段宽度。使用负精度参数,就好像省略了精度一样。
答案 1 :(得分:4)
是 - 您使用“*”,例如
PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH:$EA_HOME/omnicat/src/main/python:$SPARK_HOME/python/