标签: string-formatting

是否有一个"String.Format"可以接受命名输入参数而不是索引占位符?

这就是我所知道的

str = String.Format("Her name is {0} and she's {1} years old", "Lisa", "10");
Run Code Online (Sandbox Code Playgroud)

但我想要类似的东西

str = String("Her name is @name and she's @age years old");
str.addParameter(@name, "Lisa");
str.addParameter(@age, 10);
Run Code Online (Sandbox Code Playgroud)

.net c# string string-formatting

88
推荐指数
7
解决办法
3万
查看次数

Logger slf4j使用{}而不是字符串连接格式化的优点

使用{}而不是字符串连接有什么好处吗?

来自slf4j的一个例子

logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
Run Code Online (Sandbox Code Playgroud)

代替

logger.debug("Temperature set to"+ t + ". Old temperature was " + oldT);
Run Code Online (Sandbox Code Playgroud)

我认为这是关于速度优化的,因为根据配置文件,可以在运行时避免参数评估(和字符串连接).但是只有两个参数是可能的,那么有时除了字符串连接之外别无选择.需要就此问题提出意见.

optimization logging concatenation string-formatting slf4j

86
推荐指数
3
解决办法
8万
查看次数

在Java的System.out中以表格格式输出

我从数据库中获取结果,并希望将数据作为Java的标准输出中的表输出

我尝试过使用\ t但是我想要的第一列长度变化很大.

有没有办法在像输出这样漂亮的表中显示它?

java string-formatting tabular

82
推荐指数
7
解决办法
21万
查看次数

如何使用样式/模板格式化wpf中的小数位数?

我正在编写一个WPF程序,我试图通过一些可重复的方法(如样式或模板)找出一种在TextBox中格式化数据的方法.我有很多TextBoxes(确切地说是95),每一个都绑定到自己的数值数据,每个数据都可以定义自己的分辨率.例如,如果数据为99.123,分辨率为2,则应显示99.12.同样,数据值99和分辨率3应显示为99.000(而不是99).有没有办法做到这一点?

编辑: 我应该澄清一下,我正在处理的当前屏幕上有95个TextBox,但我希望程序中各个屏幕的每个TextBox都能显示正确的小数位数.现在我考虑一下,其中一些是TextBoxes(就像我现在正在处理的屏幕),有些是DataGrids或ListViews,但是如果我能弄清楚如何使它适用于TextBoxes我敢肯定我可以想象它也用于其他控件.

在这种情况下,没有太多的代码可以共享,但我会尝试使其更清晰:

我有一个View Model,它包含以下属性(vb.net):

    Public ReadOnly Property Resolution As Integer
        Get
            Return _signal.DisplayResolution
        End Get
    End Property

    Public ReadOnly Property Value As Single
        Get
            Return Math.Round(_signal.DisplayValue, Resolution)
        End Get
    End Property
Run Code Online (Sandbox Code Playgroud)

在XAML中我有:

<UserControl.Resources>
    <vm:SignalViewModel x:Key="Signal" SignalPath="SomeSignal"/>
</UserControl.Resources>
<TextBox Grid.Column="3" IsEnabled="False" Text="{Binding Path=Value, Source={StaticResource Signal}, Mode=OneWay}" />
Run Code Online (Sandbox Code Playgroud)

EDIT2(我的解决方案): 事实证明,在离开电脑一段时间之后,我回来找到一个简单的答案,盯着我的脸.格式化视图模型中的数据!

    Public ReadOnly Property Value As String
        Get
            Return (Strings.FormatNumber(Math.Round(_signal.DisplayValue, _signal.DisplayResolution), _signal.DisplayResolution))
        End Get
    End Property
Run Code Online (Sandbox Code Playgroud)

data-binding wpf xaml string-formatting

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

Python SQL查询字符串格式

我正在尝试找到格式化SQL查询字符串的最佳方法.当我调试我的应用程序时,我想记录所有sql查询字符串,并且正确格式化字符串很重要.

选项1

def myquery():
    sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
    con = mymodule.get_connection()
    ...
Run Code Online (Sandbox Code Playgroud)
  • 这适用于打印sql字符串.
  • 如果字符串很长并且不符合80个字符的标准宽度,则不是一个好的解决方案.

选项2

def query():
    sql = """
        select field1, field2, field3, field4
        from table
        where condition1=1
        and condition2=2"""
    con = mymodule.get_connection()
    ...
Run Code Online (Sandbox Code Playgroud)
  • 这里的代码很清楚,但是当你打印sql查询字符串时,你会得到所有这些烦人的空白区域.

    从表\n _ ___ 选择field1,field2,field3,field4 \n_ _ ___ ,其中condition1 = 1 \n _ ___ _和 condition2 = 2'

注意:我已经用下划线替换了空格_,因为它们是由编辑器修剪的

选项3

def query():
    sql = """select field1, field2, field3, field4
from table …
Run Code Online (Sandbox Code Playgroud)

python sql string-formatting

79
推荐指数
6
解决办法
9万
查看次数

Python使用str.format添加前导零

你能用str.format函数显示带前导零的整数值吗?

输入示例:

"{0:some_format_specifying_width_3}".format(1)
"{0:some_format_specifying_width_3}".format(10)
"{0:some_format_specifying_width_3}".format(100)
Run Code Online (Sandbox Code Playgroud)

期望的输出:

"001"
"010"
"100"
Run Code Online (Sandbox Code Playgroud)

我知道,无论zfill%基于格式(如'%03d' % 5)可以做到这一点.但是,我想要一个解决方案,用于str.format保持我的代码干净和一致(我也使用datetime属性格式化字符串),并扩展我对格式规范迷你语言的了解.

python string string-formatting python-2.7

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

String.Format - 它是如何工作的以及如何实现自定义格式字符串

使用String.Format()它可以以DateTime许多不同的方式格式化例如对象.每当我寻找所需的格式时,我都需要在互联网上搜索.我几乎总能找到一个可以使用的例子.例如:

String.Format("{0:MM/dd/yyyy}", DateTime.Now);          // "09/05/2012"
Run Code Online (Sandbox Code Playgroud)

但我不知道它是如何工作的以及哪些类支持这些"魔术"附加字符串.

所以我的问题是:

  1. 如何String.Format将附加信息映射MM/dd/yyyy到字符串结果?
  2. 是否所有Microsoft对象都支持此功能?
    这是在某处记录的吗?
  3. 有可能做这样的事情:
    String.Format("{0:MyCustomFormat}", new MyOwnClass())

.net c# vb.net string string-formatting

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

在字符串中使用变量

在PHP中,我可以执行以下操作:

$name = 'John';
$var = "Hello {$name}";    // => Hello John
Run Code Online (Sandbox Code Playgroud)

C#中是否有类似的语言结构?

我知道有,String.Format();但我想知道是否可以在不调用字符串上的函数/方法的情况下完成.

c# string string-formatting

76
推荐指数
4
解决办法
14万
查看次数

使用新格式字符串记录变量数据

我使用python 2.7.3的日志工具.这个Python版本的文档说:

日志包提前更新格式化选项,如str.format()和string.Template.支持这些较新的格式化选项...

我喜欢花括号的"新"格式.所以我想尝试做类似的事情:

 log = logging.getLogger("some.logger")
 log.debug("format this message {0}", 1)
Run Code Online (Sandbox Code Playgroud)

并得到错误:

TypeError:并非在字符串格式化期间转换所有参数

我想念的是什么?

PS我不想用

log.debug("format this message {0}".format(1))
Run Code Online (Sandbox Code Playgroud)

因为在这种情况下,无论记录器级别如何,都始终格式化消息.

python string-formatting python-2.7

76
推荐指数
5
解决办法
4万
查看次数

Python TypeError:传递给object .__ format__的非空格式字符串

我最近遇到了这个TypeError异常,我发现很难调试.我最终将它减少到这个小测试用例:

>>> "{:20}".format(b"hi")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: non-empty format string passed to object.__format__
Run Code Online (Sandbox Code Playgroud)

无论如何,这对我来说非常不明显.我的代码的解决方法是将字节字符串解码为unicode:

 >>> "{:20}".format(b"hi".decode("ascii"))
 'hi                  '
Run Code Online (Sandbox Code Playgroud)

这个例外是什么意思?有没有办法让它更清晰?

python string-formatting python-3.x

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