标签: string.format

C#String.Format - 输入字符串无效

我有一个像这样的MVC3 HtmlHelper扩展:

public static MvcHtmlString ShowInfoBar(this HtmlHelper helper, string message, InfoMessageType messageType)
    {
        return MvcHtmlString.Create(String.Format(@"<script type=""text/javascript"">$(document).ready(function () { gtg.core.showInfoBar('{0}', '{1}'}; );</script>", message, messageType.ToString().ToLower()));
    }
Run Code Online (Sandbox Code Playgroud)

价值message"The product "Product Name" was saved successfully."

价值messageTypeinfo.

它一直在说 Input string was not in the correct format.

我卡住了?

c# string.format

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

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

形成Json格式字符串

我正在使用此方法来形成json字符串,这工作正常.但如果它包含更多属性,我无法处理.还有比这更好的方法吗?

string.Format("{0}{1}longUrl{1}:{1}{2}{1}{3}", "{", "\"", longUrl,"}");
Run Code Online (Sandbox Code Playgroud)

输出是

{"longUrl":"http://api.themoviedb.org/3/person/12835?api_key=2c50a994de5291887a4e062edd229a72"}
Run Code Online (Sandbox Code Playgroud)

c# string.format

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

DRY字符串格式

将string.format的常用格式(例如datetime)拉成可访问的常量的优雅方法是什么?

理想情况下,我想做类似以下的事情,但是当我尝试使用此代码时,我收到以下错误.

var now = DateTime.Now;
var format = "yyyy-MM-dd";
Console.WriteLine(string.Format("The date is {1:{0}}", format, now));
Run Code Online (Sandbox Code Playgroud)

[System.FormatException:输入字符串的格式不正确.]在Program.Main():第9行

这背后的原因是某些API需要特定的日期时间格式.我希望能够引用一个地方来获得这种格式,这样所有调用都可以.

我意识到以下内容会起作用,但它看起来并不优雅.

Console.WriteLine(string.Format("The date is {1:" + format + "}", format, now));
Run Code Online (Sandbox Code Playgroud)

c# string.format formatexception

7
推荐指数
1
解决办法
148
查看次数

String.format%d是否始终与BigInteger兼容?

使用String.format%d及其变体,我们可以轻松地格式化原始整数和长整数.但是,这些格式选项是否与BigInteger完美配合?

我做了一些测试,它们似乎运行良好,例如:

public class Test6 {
    public static void main(final String args[]) {
        final java.math.BigInteger b = java.math.BigInteger.TEN.pow(999999);
        System.out.println(String.format("%,d", b));
    }
}
Run Code Online (Sandbox Code Playgroud)

但是有什么值得注意的吗?

java string.format biginteger

7
推荐指数
1
解决办法
5147
查看次数

从5.3开始,Lua format.string不能将float格式化为十进制(%d)

我最近从Lua 5.2.3升级到5.3.1但我注意到string.format如果它尝试格式化float使用我的所有脚本执行开始失败%d

local anExampleString = string.format("Sample Number: %d",10.100000001) -- Fails on 5.3.1, works on 5.2.3
local aWorkingString  = string.format("Sample Number: %.0f",10.100000001) -- Works on 5.3.1
Run Code Online (Sandbox Code Playgroud)

这是设计的吗?我似乎无法在任何地方找到变更记录.

string string.format lua lua-5.3

7
推荐指数
1
解决办法
2015
查看次数

以科学格式打印,十的幂只是 3 的倍数

当以科学格式显示数字时,我还没有找到一种方法只获取 3 的倍数的指数。我也没有成功编写一个简单的自定义格式化函数。

这是一个简单的例子:
使用 python 的科学记数法的正常行为.format()

numbers = [1.2e-2, 1.3e-3, 1.5e5, 1.6e6]

for n in numbers:
    print("{:.E}".format(n))
Run Code Online (Sandbox Code Playgroud)
>>> 1.20E-02  
    1.30E-03  
    1.50E+05  
    1.60E+06  
Run Code Online (Sandbox Code Playgroud)

但是,我需要以下输出:

>>> 12.00E-03   
     1.30E-03   
    15.00E+06  
     1.60E+06  
Run Code Online (Sandbox Code Playgroud)

有谁知道我获得所需格式的便捷方法?

python printing string.format scientific-notation

7
推荐指数
1
解决办法
5248
查看次数

如何转义格式字符串?

是否可以使用Python的str.format(key=value)语法来仅替换某些键.

考虑这个例子:

my_string = 'Hello {name}, my name is {my_name}!'

my_string = my_string.format(name='minerz029')
Run Code Online (Sandbox Code Playgroud)

返回

KeyError: 'my_name'
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

python string string.format

6
推荐指数
3
解决办法
2920
查看次数

C#string.format添加" - "值?

我有一个string.format问题......

我试图将我的发票ID作为参数传递给我的程序......第6个参数总是以" - "结束,无论我做什么(我们必须使用¿因为旧程序)...

     public static void OpenIdInvoice(string wdlName, string IdInvoice, Form sender){
        MessageBox.Show(string.Format("¿{0}",IdInvoice));
        proc.Arguments = string.Format("{0}¿{1}¿{2}¿{3}¿{4}¿­{5}",
            session.SessionId.ToString(),
            Session.GetCurrentDatabaseName(),
            session.Librairie,
            wdlName,
            "",
            IdInvoice
        );
        System.Windows.Forms.MessageBox.Show(proc.Arguments);
Run Code Online (Sandbox Code Playgroud)

最后," - "总是添加到我的格式化结果中,但仅在我的IdInvoice之前...(因此Id 10在我的参数中最终为-10)

现在有趣的部分...我硬编码一些字符串和......

如果我传递-1而不是Id,我有--1作为结果如果我写"香蕉"...我得到"-banana"...

我知道我可以建立字符串,否则......但我很好奇它为什么会发生.

这是截图  减去香蕉? ...

编辑:

这就是我的代码的复制/粘贴

var proc = new System.Diagnostics.ProcessStartInfo("Achat.exe");
        System.Windows.Forms.MessageBox.Show(string.Format("¿{0}",args));
        proc.Arguments = string.Format(@"{0}¿{1}¿{2}¿{3}¿{4}¿­{5}¿{6}",
            "12346", //session.SessionId.ToString(),
            "fake DB",//Session.GetCurrentDatabaseName().ToString(),
            "false", //session.Librairie.ToString(),
            "myScreenName", //wdl.ToString(),
            "123456",
            "Banana",
            "123456"
            //args.ToString(), 

        );
        System.Windows.Forms.MessageBox.Show(proc.Arguments);
        System.Windows.Forms.MessageBox.Show(args);
Run Code Online (Sandbox Code Playgroud)

那就是我的文本可视化结果的复制/粘贴:

12346¿fakeDB¿false¿myScreenName¿123456¿Banana¿123456

c# string.format .net-4.0

6
推荐指数
1
解决办法
487
查看次数

如何使用熊猫 to_csv float_format?

我正在从具有 8 个精度的数据文件中读取数据,然后在插入一些值之后,我将它们保存起来,就像 float_format 选项不起作用的地方一样,

df.to_csv('data.dat',sep=' ', index=False, header=False, float_format="%.8f")
Run Code Online (Sandbox Code Playgroud)

结果文件看起来像

0.02506602 0.05754493 0.36854688
0.02461631 0.0599653 0.43078098
0.02502534 0.06209149 0.44955311
0.4267356675182389 0.1718682822340447 0.5391386354945895
0.426701667727433 0.17191008887193007 0.5391897818631616
0.4266676661681287 0.17195189807522643 0.5392409104354972
Run Code Online (Sandbox Code Playgroud)

前 3 行在数据文件中,接下来的 3 行是新的内插值。我希望所有值的长度相同。这里出了什么问题,我该如何解决?

另外:如果我可以为不同的列以不同的方式控制浮点精度,那就太好了。

python string.format pandas

6
推荐指数
1
解决办法
8914
查看次数