标签: string-formatting

C#:格式化价格值字符串

在C#中,我有一个双变量价格,价值10215.24.我想在一些数字后用逗号显示价格.我的预期产量是10,215.24

c# string-formatting

10
推荐指数
4
解决办法
3万
查看次数

如何在gettext字符串中转义'%'字符?

我使用gettext来翻译我的用户界面.我想在符号%中将符号写为UI标题的一部分,但由于它具有特殊含义,因此无法按预期工作.我怎样才能逃脱百分比符号?

gettext string-formatting

10
推荐指数
1
解决办法
4443
查看次数

负货币号XAML

我的负货币编号的当前格式有点问题.这是一个截图,恢复了我的情况.

  1. 这就是我在绑定中使用StringFormat的方式.(顺便说一下,我只试过{0:C})
  2. 正如所料
  3. 我的计算机的当前设置为负数货币4.
  4. 我正在运行我的应用程序时的结果

替代文字

为什么结果不是-0,08 $?

关于我应该如何进行的任何想法?

谢谢你的时间.

更新:

我尝试用转换器解决问题,结果如下:

  • 我发现它和Thread.CurrentThread.CurrentUICulture它不一样Thread.CurrentThread.CurrentCulture,所以我在App.xaml.cs中修复了它.不幸的是,结果相同.
  • 我试图通过转换器显示我的值,看看我是否可以调试问题.事实是,在Convert方法的参数中收到的文化是可以的,但它CurrentNegativePattern与在该方法中的不同Thread.CurrentThread.CurrentCulture.这可能就是我遇到这个问题的原因.目前,我将使用这个:return ((double)value).ToString("C2", Thread.CurrentThread.CurrentCulture);Convert我的转换器的方法.

c# wpf currency string-formatting

10
推荐指数
1
解决办法
1725
查看次数

python日志字符串格式

我使用python的日志格式化器来格式化日志记录,我的fmt值为

fmt = "[%(filename)s:%(lineno)s] %(message)s"
Run Code Online (Sandbox Code Playgroud)

我想要的是"[file.py:20]"被拉伸到10个字符宽(例如).如果它是一个很容易的值,但有没有办法将整个结构拉伸到指定的长度?我想要的东西:

tmp = "[%(filename)s:%(lineno)s]"
fmt = "%(tmp)10s %(message)s"
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以使用字符串格式化,或者如果我可以欺骗python的格式化程序以某种方式得到我想要的东西..

python formatting logging string-formatting

10
推荐指数
2
解决办法
2万
查看次数

python:格式字符串中变量名称中的点

假设我有一个字段名称带字符的字典,比如{'person.name': 'Joe'}.如果我想用它str.format,有可能吗?

我的第一直觉是

'Name: {person.name}'.format(**{'person.name': 'Joe'})
Run Code Online (Sandbox Code Playgroud)

但这只有在我的字形被塑造的情况下才有效

{'person':{'name':Joe}}
Run Code Online (Sandbox Code Playgroud)

相关的手册文档部分没有提到逃避点.

(旁注:我一般认为

def func(**kw): print(kw)
func(**{'a.b': 'Joe'})
Run Code Online (Sandbox Code Playgroud)

会导致错误,但**即使它们不是有效的标识符,-expanded函数调用似乎也能正常工作!但它确实在非字符串上出错.O_O)

python string-formatting

10
推荐指数
3
解决办法
5726
查看次数

C中的动态浮点格式说明符

有没有办法让用户输入浮点格式说明符?例如,如果我打印这个.

float c = 15.0123
printf("%.2f", c);

// outputs: 15.01
Run Code Online (Sandbox Code Playgroud)

如何为变量分配小数位数?喜欢:

int n = 3;
float c = 15.0123
printf("%.(%i)f", n, c);

// outputs: 15.012
Run Code Online (Sandbox Code Playgroud)

c floating-point string-formatting format-specifiers

10
推荐指数
2
解决办法
3370
查看次数

填充数字为0时,"IllegalFormatConversionException:d!= java.lang.String"?

昨天我有一个完美的代码,完全符合以下形式:

int lastRecord = 1;
String key = String.format("%08d", Integer.toString(lastRecord));
Run Code Online (Sandbox Code Playgroud)

哪个会很好地填充到00000001.

现在我把它踢了一个缺口,两个KeyChar从一个表中获取一个字符串,而lastRecord从一个表中获取一个int.

正如您所看到的,概念本质上是相同的 - 我将int转换为字符串并尝试用0填充它; 但是,这次我收到以下错误:

java.util.IllegalFormatConversionException: d != java.lang.String
Run Code Online (Sandbox Code Playgroud)

代码如下:

String newPK = null;
String twoCharKey = getTwoCharKey(tablename);
if (twoCharKey != null) {
     int lastRecord = getLastRecord(tablename);
     lastRecord++;
     //The println below outputs the correct values: "RU" and 11. 
     System.out.println("twocharkey:"+twoCharKey+"record:"+lastRecord+"<");
     //Now just to make it RU00000011
     newPK = String.format("%08d", Integer.toString(lastRecord));
     newPK = twoCharKey.concat(newPK);
}
Run Code Online (Sandbox Code Playgroud)

我觉得我必须输入错误的东西,因为自上次工作以来没有理由让它破裂.任何帮助/提示表示赞赏!谢谢!

java regex string-formatting

10
推荐指数
1
解决办法
4万
查看次数

使用前导零格式化浮点数

为什么

System.out.format("%03.3f", 1.23456789);
Run Code Online (Sandbox Code Playgroud)

打印1.235而不是001.235

我的format字符串看起来如何得到001.235以下代码行的输出?

System.out.format(format, 1.23456789);
Run Code Online (Sandbox Code Playgroud)

java string-formatting

10
推荐指数
1
解决办法
5454
查看次数

Python字符串格式:%vs连接

我正在开发一个应用程序,在其中我执行一些请求以获取对象ID.在每一个之后,我调用一个方法(get_actor_info())将此id作为参数传递(参见下面的代码).

ACTOR_CACHE_KEY_PREFIX = 'actor_'

def get_actor_info(actor_id):
    cache_key = ACTOR_CACHE_KEY_PREFIX + str(actor_id)
Run Code Online (Sandbox Code Playgroud)

正如可以注意到,我在铸造actor_idstring与前缀相连来.但是,我知道我可以通过多种其他方式(.format()或者'%s%d',例如)来实现这一点,这导致了我的问题:'%s%d'在可读性,代码约定和效率方面,它会比字符串连接更好吗?

谢谢

python string string-formatting

10
推荐指数
2
解决办法
4779
查看次数

Python编号使用%.*g打印格式

我在网上找到了这个python示例,我想准确理解数字格式的工作原理:

print "%.*g\t%.*g" % (xprecision, a, yprecision, b)
Run Code Online (Sandbox Code Playgroud)

我可以通过实验看到,它打印出一个(使用精确的xprecision),一个标签,然后是b(精确的yprecision).所以,作为一个简单的例子,如果我跑

print "%.*g\t%.*g" % (5, 2.23523523, 3, 12.353262)
Run Code Online (Sandbox Code Playgroud)

然后我明白了

2.2352  12.4
Run Code Online (Sandbox Code Playgroud)

我明白%g通常是如何工作的.我也明白%一般如何运作.在这个例子中令我困惑的是构造%.*g.*这里的工作如何?我可以看到它以某种方式获取所需的精度值并将其替换为print表达式,但为什么会发生这种情况呢?为什么精确数字出现在格式化的数字之前(xprecision,a ...)?

有人可以打破这个并向我解释一下吗?

python string-formatting

10
推荐指数
1
解决办法
909
查看次数