我想知道是否有格式化string.Format中的NULL值的语法,如Excel使用什么 例如,使用Excel,我可以指定格式值为{0:#,000.00;-#,000.00,NULL} ,这意味着如果数字格式为正数,则显示为数字格式;如果为负数,则在括号中显示数字格式;值为空 string.Format("${0:#,000.00;(#,000.00);NULL}", someNumericValue); 编辑 我正在寻找所有数据types的格式化NULL / Nothing值,而不仅仅是数字的。 我的例子实际上是不正确的,因为我错误地认为如果值为NULL,Excel使用第三个参数,但实际上当值为0时使用。我将它留在那里,因为这是我能想到的最接近的东西希望能做到。 我希望避免空合并运算符,因为我正在写日志logging,并且数据通常不是一个string 写这样的东西会容易得多 Log(string.Format("Value1 changes from {0:NULL} to {1:NULL}", new object[] { oldObject.SomeValue, newObject.SomeValue })); 比写 var old = (oldObject.SomeValue == null ? "null" : oldObject.SomeValue.ToString()); var new = (newObject.SomeValue == null ? "null" : newObject.SomeValue.ToString()); Log(string.Format("Value1 changes from {0} to {1}", new object[] { old, […]
情况1: "{arg1} {arg2}".format (10, 20) 它会给KeyError: 'arg1'因为我没有传递命名的参数。 案例2: "{arg1} {arg2}".format(arg1 = 10, arg2 = 20) 现在它会正常工作,因为我传递了命名的参数。 它打印'10 20' 案例3: 而且,如果我传错了名字,它会显示KeyError: 'arg1' "{arg1} {arg2}".format(wrong = 10, arg2 = 20) 但, 案例4: 如果我以错误的顺序传递命名的参数 "{arg1} {arg2}".format(arg2 = 10, arg1 = 20) 有用… 并打印“ '20 10' 我的问题是为什么它起作用,在这种情况下命名参数有什么用处。
好吧,我正在从列表中获取数据,我将其填充到DataGridView,并将其导出到文本文件。 我已经完成了将其导出到CSV的function,并且还想做一个纯文本版本。 由于标题和其他元素的长度是可变的,当文件被保存,然后在记事本中打开它看起来像一团糟,因为没有排列。 我想要输出如下所示: Sample Title One Element One Whatever Else Sample Title 2 Element 2 Whatever Else ST 3 E3 Whatever Else 我想我可以遍历每个元素,以获得最长的一个长度,所以我可以计算多less个空间添加到每个剩余的元素。 我的主要问题是: 是否有一个优雅的方式来添加一个可变数量的字符到一个string? 有这样的事情会很高兴: myString.insert(index, charToInsert, howManyToInsert); 当然,我显然可以通过一个循环写一个函数来做到这一点,但我想看看是否有更好的方法来做到这一点。 提前致谢! -Sootah
我试图find格式化SQL查询string的最佳方法。 当我debugging我的应用程序时,我想logging所有的sql查询string,重要的是string正确格式化。 选项1 def myquery(): sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2" con = mymodule.get_connection() … 这对于打印sqlstring很有用。 如果string很长并且不符合80个字符的标准宽度,那么这不是一个好的解决scheme。 选项2 def query(): sql = """ select field1, field2, field3, field4 from table where condition1=1 and condition2=2""" con = mymodule.get_connection() … 这里的代码是清楚的,但是当你打印sql查询string,你会得到所有这些烦人的空白。 u'\ n从表中selectfield1,field2,field3,field4 \ n_ _ ___ \ n 其中condition1 […]
是否有可能在string.xml中的string值的占位符,可以在运行时分配值? 例: 一些stringPLACEHOLDER1多一些string