问题标签 [string.format]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - String.Format 是否与 StringBuilder 一样高效
假设我在 C# 中有一个 stringbuilder 执行此操作:
这是否会像拥有以下内容一样有效或更有效:
如果是这样,为什么?
编辑
在一些有趣的答案之后,我意识到我可能应该更清楚我所问的问题。我并没有太多要求哪个在连接字符串时更快,但在将一个字符串注入另一个字符串时哪个更快。
在上述两种情况下,我都想将一个或多个字符串注入到预定义模板字符串的中间。
对困惑感到抱歉
c# - 字符串输出:C# 中的格式或连接?
假设您要输出或连接字符串。你更喜欢以下哪种风格?
var p = new { FirstName = "Bill", LastName = "Gates" };
Console.WriteLine("{0} {1}", p.FirstName, p.LastName);
Console.WriteLine(p.FirstName + " " + p.LastName);
您更愿意使用格式还是简单地连接字符串?什么是你最喜欢的?其中之一会伤害你的眼睛吗?
你有任何合理的论据来使用一个而不是另一个吗?
我会去第二个。
c# - 如何有条件地格式化.Net中的字符串?
我想做一些字符串的条件格式。我知道您可以对整数和浮点数进行一些条件格式化,如下所示:
如果变量为正数、负数或零,上述代码将产生三种格式之一。
我想知道是否有任何方法可以在字符串参数上使用部分。对于一个具体但人为的示例,我希望在以下代码中替换“if”检查:
java - 在 java String.format 中转义格式化字符
这个问题与这个针对 java的.Net 问题几乎相同。
如何转义%1$
java 中的字符String.format
?
我需要这样做的原因是我正在构建一个字符串,稍后将在其中插入更多信息。我曾想过让其中一个 args 成为"%1$"
,但这似乎不是很优雅?
抱歉,如果这很明显,我的 java 有点生锈了。
.net - String.Format 与否?
复制自:字符串输出:C# 中的格式或连接?
尤其是在 C# 世界中,对所有内容使用 String.Format 非常普遍,通常作为 VB.NET 开发人员,除非我必须*我不使用 String.Format,
我更喜欢普通的字符串连接,例如:
对我来说这比这更好:
我错过了什么吗?或者这只是个人喜好?
使用 String.Format 的原因(来自答案)(我会尽量保持最新)
- 如果您使用字符串格式,本地化会容易得多
- 显然更改输入格式更容易
- 它更具可读性(但这是个人的)
- 更好的性能
**有时我需要动态更改样式或替换内容,然后我使用 String.Format*
.net - .NET:是否有用于将对象属性的值插入字符串的 String.Format 表单?
我认为这个问题的直接答案是“不”,但我希望有人写了一个真正简单的库来做到这一点(或者我可以做到......呃......)
让我用一个例子来展示我在寻找什么。假设我有以下内容:
我希望能够做这样的事情:
有谁知道是否有一种格式可以做这样的事情,或者是否有人写了一个库来做这样的事情?我知道这不应该太难,但我宁愿不重新实现轮子。
c++ - C++ 的 String.Format
正在寻找 .NET 的 String.Format 等函数的 C++ 实现。显然有 printf 和它的品种,但我正在寻找一些位置如下的东西:
String.Format("您好,{0}。您已经 {1} 岁。成为 {1} 的感觉如何?", name, age);
这是必要的,因为我们将尝试使本地化我们的应用程序变得更容易,并且让翻译者 {0} 和 {1} 定位在句子中的任何位置比给他们一个 %s、%d、% 容易得多d 在翻译中必须按该顺序定位。
我想用变量输入(va_start、va_end 等)搜索和替换是我最终要构建的,但如果已经有一个可靠的解决方案,那将是可取的。
谢谢 :)
c# - String.Format() 中真的需要 CultureInfo.CurrentCulture 吗?
您认为真正有必要提供IFormatProvider
的方法是String.Format(string, object)
什么?
写完整的变体更好吗
要不就
?
c# - 使用任意字符串向左或向右填充 string.format(不是 padleft 或 padright)
我可以使用 String.Format() 用任意字符填充某个字符串吗?
我现在希望空格是任意字符。我不能使用 padLeft 或 padRight 的原因是因为我希望能够在不同的位置/时间构造格式字符串,然后实际执行格式化。
--EDIT--
看到我的问题似乎没有现成的解决方案我想出了这个(在Think Before Coding 的建议之后)
--EDIT2--
我需要一些更复杂的场景,所以我选择了Think Before Coding's第二个建议
因为代码有点太多,不能发帖,我把它移到了 github 作为要点: http:
//gist.github.com/533905#file_padded_string_format_info
人们可以轻松地对其进行分支和任何事情:)
c# - 需要自定义货币格式才能与 String.Format 一起使用
我正在尝试在 C# 中使用 String.Format("{0:c}", somevalue) 但很难弄清楚如何配置输出以满足我的需求。以下是我的需求:
- 0 输出到空白
- 1.00 输出到 1.00 美元
- 10.00 输出到 10.00 美元
- 100.00 输出到 100.00 美元
- 1000.00 输出到 $1,000.00
我试过 String.Format("{0:c}", somevalue) 但对于零值,它输出 $0.00 这不是我想要的。我也尝试过 String.Format("{0:$0,0.00;$(0,0.00);#}", somevalue),但对于 1.0,它输出 $01.00。String.Format("{0:$0.00;$(0.00);#}", somevalue) 适用于大多数情况,但当 somevalue 为 1000.00 时,输出为 $1000.00。
是否有适合上述所有 5 种情况的格式?我读过的所有文档都只详细介绍了基础知识,并没有涉及这种类型的场景。