如何在Dart中打印美元符号$

rch*_*hkm 18 variables syntax dart

我需要在变量之前在Dart中打印一个美元符号.例如:

void main()
{
  int dollars=42;
  print("I have $dollars."); // I have 42.
}
Run Code Online (Sandbox Code Playgroud)

我希望输出为:我有42美元.我怎样才能做到这一点?谢谢.

lrn*_*lrn 20

飞镖弦可以是原始的还是......不是原始的(正常的?熟的?解释的?没有正式名称).我会在这里使用"解释",因为它描述了你遇到的问题.

在原始字符串中,"$"和"\"表示没什么特别的,它们只是与其他字符一样的字符.在解释的字符串中,"$"开始插值,"\"开始转义.

由于你想要"$ dollar"的插值,你不能逐字地使用"$",所以你需要逃避它:

int dollars = 42;
print("I have \$$dollars.");
Run Code Online (Sandbox Code Playgroud)

如果您不想使用转义,则可以组合原始和解释部分的字符串:

int dollars = 42;
print(r"I have $" "$dollars."); 
Run Code Online (Sandbox Code Playgroud)

两个相邻的字符串文字组合成一个字符串,即使它们是不同类型的字符串.


Pix*_*ant 8

您可以使用反斜杠进行转义:

int dollars=42;
print("I have \$$dollars."); // I have $42.
Run Code Online (Sandbox Code Playgroud)

使用文字而不是变量时,也可以使用原始字符串:

print(r"I have $42."); // I have $42.
Run Code Online (Sandbox Code Playgroud)