问题标签 [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.

0 投票
12 回答
69531 浏览

c# - String.Format 是否与 StringBuilder 一样高效

假设我在 C# 中有一个 stringbuilder 执行此操作:

这是否会像拥有以下内容一样有效或更有效:

如果是这样,为什么?

编辑

在一些有趣的答案之后,我意识到我可能应该更清楚我所问的问题。我并没有太多要求哪个在连接字符串时更快,但在一个字符串注入另一个字符串时哪个更快。

在上述两种情况下,我都想将一个或多个字符串注入到预定义模板字符串的中间。

对困惑感到抱歉

0 投票
32 回答
98176 浏览

c# - 字符串输出:C# 中的格式或连接?

假设您要输出或连接字符串。你更喜欢以下哪种风格?

  • var p = new { FirstName = "Bill", LastName = "Gates" };

  • Console.WriteLine("{0} {1}", p.FirstName, p.LastName);

  • Console.WriteLine(p.FirstName + " " + p.LastName);

您更愿意使用格式还是简单地连接字符串?什么是你最喜欢的?其中之一会伤害你的眼睛吗?

你有任何合理的论据来使用一个而不是另一个吗?

我会去第二个。

0 投票
7 回答
27902 浏览

c# - 如何有条件地格式化.Net中的字符串?

我想做一些字符串的条件格式。我知道您可以对整数和浮点数进行一些条件格式化,如下所示:

如果变量为正数、负数或零,上述代码将产生三种格式之一。

我想知道是否有任何方法可以在字符串参数上使用部分。对于一个具体但人为的示例,我希望在以下代码中替换“if”检查:

0 投票
2 回答
20428 浏览

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

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

如何转义%1$java 中的字符String.format

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

抱歉,如果这很明显,我的 java 有点生锈了。

0 投票
8 回答
2595 浏览

.net - String.Format 与否?

复制自:字符串输出:C# 中的格式或连接?

尤其是在 C# 世界中,对所有内容使用 String.Format 非常普遍,通常作为 VB.NET 开发人员,除非我必须*我不使用 String.Format,

我更喜欢普通的字符串连接,例如:

对我来说这比这更好:

我错过了什么吗?或者这只是个人喜好?

使用 String.Format 的原因(来自答案)我会尽量保持最新

  • 如果您使用字符串格式,本地化会容易得多
  • 显然更改输入格式更容易
  • 它更具可读性(但这是个人的
  • 更好的性能

**有时我需要动态更改样式或替换内容,然后我使用 String.Format*

0 投票
8 回答
3229 浏览

.net - .NET:是否有用于将对象属性的值插入字符串的 String.Format 表单?

我认为这个问题的直接答案是“不”,但我希望有人写了一个真正简单的库来做到这一点(或者我可以做到......呃......)

让我用一个例子来展示我在寻找什么。假设我有以下内容:

我希望能够做这样的事情:

有谁知道是否有一种格式可以做这样的事情,或者是否有人写了一个库来做这样的事情?我知道这不应该太难,但我宁愿不重新实现轮子。

0 投票
13 回答
26703 浏览

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 等)搜索和替换是我最终要构建的,但如果已经有一个可靠的解决方案,那将是可取的。

谢谢 :)

0 投票
4 回答
27258 浏览

c# - String.Format() 中真的需要 CultureInfo.CurrentCulture 吗?

您认为真正有必要提供IFormatProvider的方法是String.Format(string, object)什么?

写完整的变体更好吗

要不就

?

0 投票
4 回答
102994 浏览

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

人们可以轻松地对其进行分支和任何事情:)

0 投票
5 回答
23460 浏览

c# - 需要自定义货币格式才能与 String.Format 一起使用

我正在尝试在 C# 中使用 String.Format("{0:c}", somevalue) 但很难弄清楚如何配置输出以满足我的需求。以下是我的需求:

  1. 0 输出到空白
  2. 1.00 输出到 1.00 美元
  3. 10.00 输出到 10.00 美元
  4. 100.00 输出到 100.00 美元
  5. 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 种情况的格式?我读过的所有文档都只详细介绍了基础知识,并没有涉及这种类型的场景。