标签: string.format

在String.Format()中转义单引号

我一直都在'管子里,我无法想出这个.可能很简单.

以下String.Format电话:

return dt.ToString("MMM d yy 'at' H:mmm");
Run Code Online (Sandbox Code Playgroud)

正确地返回这个:

2008年9月23日12:57

现在让我们说我想在年之前添加一个单引号,以返回:

08年9月23日12:57

由于单引号是保留的转义字符,如何转义单引号以使其显示?

我试过双,三和四单引号,没有运气.

.net string.format escaping

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

转义java String.format中的格式化字符

这个问题几乎与java的.Net问题相同.

你如何逃避java string.format中的%1 $字符?

我需要这样做的原因是我正在构建一个字符串,以后会有更多信息插入其中.我曾经想过让其中一个args只是"%1 $",但这似乎不是很优雅?

对不起,如果这很明显我的java有点生疏了.

java string string.format

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

Python string.format()百分比到一个小数位

在下面的例子中,我想格式化为1位小数,但python似乎想要将数字四舍五入,有没有办法让它不是数字上升?

>>> '{:.1%}'.format(0.9995)
'100.0%'
>>> '{:.2%}'.format(0.9995)
'99.95%'
Run Code Online (Sandbox Code Playgroud)

谢谢!:)

python floating-point string.format

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

使用Python中的format()方法打印布尔值True/False

我试图打印布尔表达式的真值表.在这样做时,我偶然发现了以下情况:

>>> format(True, "") # shows True in a string representation, same as str(True)
'True'
>>> format(True, "^") # centers True in the middle of the output string
'1'
Run Code Online (Sandbox Code Playgroud)

只要指定格式说明符,就format()转换True1.我知道这bool是一个子类int,因此True评估为1:

>>> format(True, "d") # shows True in a decimal format
'1'
Run Code Online (Sandbox Code Playgroud)

但是,为什么不使用格式说明符的变化'True',以1在第一个例子?

我转向文档澄清.它唯一说的是:

一般惯例是,空格式字符串("")产生的结果与调用str()该值时的结果相同.非空格式字符串通常会修改结果.

因此,当您使用格式说明符时,字符串会被修改.但是,为什么从变化True1,如果对准运营商(例如^)被指定?

python string.format boolean string-formatting python-2.7

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

双串.格式

我有一些双重值,我想转换为具有此模式的字符串:

0.xx or x.xx
Run Code Online (Sandbox Code Playgroud)

目前我试过这个:

double.ToString("#.#0");
Run Code Online (Sandbox Code Playgroud)

如果我的号码从零开始,我应该添加什么才能看到零?

.net c# string.format

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

String.Format用于TextBoxFor上的货币

我想@String.Format("{0:0.00}",Model.CurrentBalance)进入这个@Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance" })

我只是希望货币在我的文本框中显示为.00但是没有运气.关于我如何做这个的任何想法?

c# string.format asp.net-mvc-3

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

重载方法在Resharper中给出"带有可选参数的方法被重载隐藏"警告

我有几个C#应用程序进行日志记录,并且Output方法有一个重载来接受消息和StreamWriter,另一个重载有一个params数组的附加参数.方法签名的一个示例是:

private static void Output(string message, StreamWriter writer, params object[] args) 
{..}

private static void Output(string message, StreamWriter writer) 
{..}
Run Code Online (Sandbox Code Playgroud)

问题涉及Resharper对这些方法给出以下警告:" 带有可选参数的方法被重载隐藏 ".

该警告具有误导性,因为我从3个param重载内部调用2-param重载并且它不会导致递归调用,因此不会隐藏重载.

我对Resharper网站做了一些研究,并且在这个问题上已经打开了一些已经关闭的门票,因为"无法修复".

在我看来,这是一个有效的用例,因为运行时知道调用哪个重载..NET框架中也有一些示例,它们使用这种重载.

例如,StreamWriter.WriteLine()要写入值的重载,以及Format params.

这是一个有效的参数,还是应该将我的方法重命名为类似"OutputFormat"的东西,因为它们在幕后使用string.Format来构建一个带有指定参数的字符串?

.net resharper string.format overloading resharper-7.1

19
推荐指数
1
解决办法
6961
查看次数

java等效于printf("%*.*f")

在C中,printf()语句允许在参数列表中提供精度长度.

printf("%*.*f", 7, 3, floatValue);
Run Code Online (Sandbox Code Playgroud)

其中星号分别用第一和第二值替换.

我正在寻找Android/Java中的等价物; String.format()抛出异常.

编辑:谢谢,@ Tenner; 它确实有效.

java string.format printf android

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

String.Format vs"string"+"string"还是StringBuilder?

可能的重复:
String.Format和StringBuilder一样高效
C#字符串输出:格式还是concat?

什么是性能优先级以及优先选择以下各项的条件:

String.Format("{0}, {1}", city, state);
Run Code Online (Sandbox Code Playgroud)

要么

city + ", " + state;
Run Code Online (Sandbox Code Playgroud)

要么

StringBuilder sb = new StringBuilder();
sb.Append(city);
sb.Append(", ");
sb.Append(state);
sb.ToString();
Run Code Online (Sandbox Code Playgroud)

.net performance stringbuilder string.format string-concatenation

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

在TimeSpan上使用String.Format输出完整的秒数而不是毫秒

我想在字符串中显示两个日期之间的经过时间.

假设我有以下代码:

DateTime date1 = DateTime.Now();
System.Threading.Thread.Sleep(2500);
DateTime date2 = DateTime.Now();

TimeSpan elapsed = date2.substract(date1);
Console.WriteLine("> {0:hh:mm:ss}", elapsed);
Run Code Online (Sandbox Code Playgroud)

我期待的是:

> 00:00:03
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

> 00:00:02.5002500
Run Code Online (Sandbox Code Playgroud)

有没有办法使用String.Format函数只返回完整秒?
我还尝试删除小数位:

elapsed = elapsed.Substract(TimeSpan.FromMiliseconds((double)Timespan.Miliseconds);
Run Code Online (Sandbox Code Playgroud)

但是,自从elapsed以来,这都不起作用.Miliseconds返回500作为整数.

c# string.format timespan

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