Tag: tostring

如何使用缩短的时区显示date时间?

我知道System.TimeZone类以及DateTime.ToString()方法的许多用途。 我无法find的是一种将DateTime转换为除时间和date信息之外还包含三个字母的时区缩写的string的方法(事实上,StackOverflow的相对工具提示时间显示工作)。 为了使每个人都可以轻松地遵循和使用示例,让我们继续使用StackOverflow示例。 如果您查看在相对时间显示的工具提示,则会显示完整date,包括十二小时格式的秒数,上午/下午指定以及三个字母的时区缩写(在他们的情况下为“协调世界时)。 我意识到我可以很容易地使用内置的方法得到GMT或UTC,但我真正想要的是在本地的时间 – 在这种情况下,在Web服务器上。 如果我们的Web服务器运行的是Windows Server 2k3,并且它的时区设置为CST(或者,直到夏令时切换回来,CDT就是这样吗?),我希望我们的ASP.NET Web应用程序显示相对于该时区的date时间以及最后格式化为显示“CST”。 我意识到我可以很容易地硬编码这一点,但为了健壮的利益,我真的更喜欢基于服务器运行代码的操作系统环境设置的解决scheme。 现在,除了使用下面的代码的时区缩写,我什么都没有。 myDateTime.ToString("MM/dd/yyyy hh:mm:ss tt") 其中显示: 10/07/2008 03:40:31 PM 我只想要(这不是很多,承诺!)是这样说的: 10/07/2008 03:40:31 PM CDT 我可以使用System.TimeZone.CurrentTimeZone并使用它来正确显示“中央夏令时”,但是…为了简洁起见,这太长了。 然后,我坚持写一个string操作程序去除空白和任何非大写字母? 虽然这可能工作,这似乎令人难以置信的黑客我… 在这里使用谷歌search并没有产生任何适用于我的具体问题的东西。

如何为ToString创build扩展方法?

我试过这个: public static class ListHelper { public static string ToString<T>(this IList<String> list) { return string.Join(", ", list.ToArray()); } public static string ToString<T>(this String[] array) { return string.Join(", ", array); } } 但是对于string[]和List<string>都不起作用。 也许我需要一些特殊的注释?

什么时候不需要在Java中实现toString()?

我的项目的一位主要开发人员已经将项目的toString()实现称为“纯粹的”,并且希望将其从代码库中移除。 我说过这样做意味着任何希望显示对象的客户端都必须编写自己的代码来将对象转换为string,但是回答是“他们会这样做”。 具体来说,这个系统中的对象是矩形,圆形等graphics元素,当前的表示forms是显示x,y,缩放,边界等。 那么,人群在哪里呢? 什么时候你应该什么时候不应该实现toString?

Java的toString()使用reflection?

有一天,我正在为Java中的类写一个toString(),方法是将类的每个元素手动写入一个string,然后发现使用reflection可能会创build一个可以工作的通用toString()方法在所有类上。 IE会找出字段名称和值,并把它们发送到一个string。 获取字段名称非常简单,这是一名同事想出来的: public static List initFieldArray(String className) throws ClassNotFoundException { Class c = Class.forName(className); Field field[] = c.getFields(); List<String> classFields = new ArrayList(field.length); for (int i = 0; i < field.length; i++) { String cf = field[i].toString(); classFields.add(cf.substring(cf.lastIndexOf(".") + 1)); } return classFields; } 使用工厂,我可以通过一次存储字段来减less性能开销,第一次调用toString()。 然而,find价值可能会更昂贵。 由于reflection的performance,这可能是比较实际的假设。 但是我对反思的想法感兴趣,并且我可以用它来改进我的日常节目。

如何格式化C#小数点以除去多余的下面的0?

我想格式化一个string作为十进制,但十进制包含一些小数点后面的零。 我如何格式化这些无意义的0消失? string.Format("{0}", 1100M); string.Format("{0}", 1100.1M); string.Format("{0}", 1100.100M); string.Format("{0}", 1100.1000M); 显示: 1100 1100.1 1100.100 1100.1000 但我希望它是: 1100 1100.1 1100.1 1100.1 作为参考,这里是其他问题,基本上是重复的,我发现感谢这里给出的答案: 分析小数点并在右边过滤额外的0? 最好的方法来显示小数点后面的零 我如何去掉十进制string中的零和小数点?

.NET:如何将exception转换为string?

当引发exception(在IDE中进行debugging时),我有机会查看exception的详细信息 : 但在代码中,如果我打电话exception.ToString()我不明白这些有用的细节: System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'FetchActiveUsers'. […snip stack trace…] 但是Visual Studio有一些魔力,可以将exception复制到剪贴板 : 这给出了有用的细节: System.Data.SqlClient.SqlException was unhandled by user code Message=Could not find stored procedure 'FetchActiveUsers'. Source=.Net SqlClient Data Provider ErrorCode=-2146232060 Class=16 LineNumber=1 Number=2812 Procedure="" Server=vader State=62 StackTrace: […snip stack trace…] InnerException: 那么我想要的! 什么将是的内容: String ExceptionToString(Exception ex) { //todo: Write useful […]

在Java中映射到string

当我在Java中执行System.out.println(map)时,我在stdout中得到了一个很好的输出结果。 我怎样才能获得一个variables中的Map相同的string表示forms,而不需要插入标准输出? 像String mapAsString = Collections.toString(map)东西String mapAsString = Collections.toString(map) ?

toString(),equals()和hashCode()

所以,我有一个需要实现的一堆方法的接口,方法名称是不相关的。 实现这个接口的对象通常被放入集合中,并且还有我希望它们使用的特殊的toString()格式。 所以,我认为将hashCode(),equals()和toString()放入界面会很方便,以确保我记得覆盖这些的默认方法。 但是,当我将这些方法添加到接口时,如果我没有实现这三个方法,那么IDE /编译器就不会抱怨,即使我明确地将它们放在接口中。 为什么这不会被强制执行? 它抱怨说,如果我不执行任何其他方法,但它不执行这三个。 是什么赋予了? 任何线索?

Go中的ToString()函数

strings.Join函数仅使用strings.Join片段: s := []string{"foo", "bar", "baz"} fmt.Println(strings.Join(s, ", ")) 但是能够传递实现ToString()函数的任意对象将会很好。 type ToStringConverter interface { ToString() string } 在Go中是否有这样的东西,或者我必须用ToString方法来修饰现有types,比如int ,并且写一个包装strings.Join的包装器。 func Join(a []ToStringConverter, sep string) string

使用Google Guava的Objects.ToStringHelper

我使用了commons-lang中的ToStringBuilder.reflectionToString(class)来实现简单DTO的toString() 。 现在我正在尝试使用Google Guava而不是Apache commons库。 我在Guava中findObjects.ToStringHelper 。 但如果class上有很多成员,那就太冗长了。 例如: @Override public String toString() { return MoreObjects.toStringHelper(this.getClass()).add("name", name) .add("emailAddress", emailAddress) .add("department", department).add("yearJoined", yearJoined) .toString(); } 如果我使用commons-lang,它会简单得多: @Override public String toString() { return ToStringBuilder.reflectionToString(this); } 有没有更好的方法来实现toString()与番石榴,而不是commons-lang? 番石榴文档