问题标签 [tostring]

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 投票
3 回答
10977 浏览

c# - 为什么.NET decimal.ToString(string) 从零四舍五入,显然与语言规范不一致?

我看到,在 C# 中,将 a 舍入decimal,默认情况下使用MidpointRounding.ToEven. 这是意料之中的,也是 C# 规范所规定的。但是,鉴于以下情况:

  • 一种decimal dVal
  • 一种格式string sFmt,当传入 时dVal.ToString(sFmt),将产生一个包含四舍五入版本的字符串dVal

...很明显,decimal.ToString(string)返回一个使用MidpointRounding.AwayFromZero. 这似乎与 C# 规范直接矛盾。

我的问题是:这种情况有充分的理由吗?或者这只是语言的不一致?

下面,作为参考,我包含了一些代码,这些代码写入控制台各种舍入运算结果和decimal.ToString(string)运算结果,每个结果都针对值数组中的每个decimal值。实际输出是嵌入的。之后,我在decimal类型的 C# 语言规范部分包含了一个相关段落。

示例代码:


C# 语言规范(“十进制类型”)第 4.1.7 节中的段落(在此处获取完整规范(.doc)):

对十进制类型的值进行运算的结果是计算精确结果(保留为每个运算符定义的比例)然后四舍五入以适应表示的结果。结果四舍五入到最接近的可表示值,并且当结果同样接近两个可表示值时,四舍五入到在最低有效数字位置具有偶数的值(这称为“银行家四舍五入”)。零结果的符号始终为 0,标度为 0。

很容易看出他们可能没有ToString(string)在这一段中考虑过,但我倾向于认为它符合这个描述。

0 投票
3 回答
559 浏览

c - 在 Ansi C 中使用 toString 转换数字

是否可以使用 toString 运算符,或者如何将数字转换为 char 数组。

0 投票
3 回答
6852 浏览

vb.net - Visual Basic - 将回车发送到电子邮件

如何将字符串发送到包含新行(回车)的电子邮件?

问题是我将字符串发送到电子邮件,而电子邮件会去掉回车符。

0 投票
3 回答
4619 浏览

apache-flex - 如何在运行时打印出对象内存地址?像java中的this.toString()

如何将 AS3 对象的内存位置写入标签?我需要它来进行调试。谢谢

0 投票
4 回答
803 浏览

java - Java 和 .NET 中 ToString() 的最初原因是什么?

我过去曾ToString()适度使用过,我发现它在许多情况下都非常有用。但是,我对这种方法的使用很难证明将这种方法放在System.Object. 我的疯狂猜测是,在为提出 .NET 框架的初始设计而进行的工作和召开会议期间的某个时间点,我们决定有必要(或至少非常有用)包含一种ToString()方法,该方法可以由 .NET 框架中的所有内容实现。

有谁知道确切的原因是什么?我是否错过了很多ToString()证明足够有用的情况System.Object?最初的原因是ToString()什么?

非常感谢!

PS - 再说一遍:我不是在质疑该方法或暗示它没有用,我只是想知道是什么让它如此有用,以至于放在System.Object.

旁注 - 想象一下:

AnyDotNetNativeClass someInitialObject = new AnyDotNetNativeClass([some constructor parameters]);

AnyDotNetNativeClass initialObjectFullCopy = AnyDotNetNativeClass.FromString(someInitialObject.ToString());

这不是很酷吗?

编辑(1):

(A) - 根据一些答案,.NET 语言似乎从 Java 继承了这一点。因此,我将“Java”添加到主题和标签中。如果有人知道在 Java 中实现这一点的原因,那么请说明一下!

(B) - 静态假设FromString与序列化:当然,但那是完全不同的故事,对吧?

0 投票
6 回答
7961 浏览

java - 在 Java 中,如何在枚举本身中获取枚举的值?

我想覆盖toString()我的枚举,Color. 但是,我不知道如何获取枚举Color内部实例的值。Color有没有办法在 Java 中做到这一点?

例子:

0 投票
9 回答
44603 浏览

java - 何时使用 toString() 方法

这可能听起来很基本......有人可以解释该toString()方法的使用以及何时有效使用它吗?

已经在谷歌上进行了搜索,但找不到任何好的资源。

0 投票
3 回答
5047 浏览

vb.net - vb.net 货币显示有四个零而不是两个

当我从 sql server 获取资金字段到 vb.net 代码时,我总是得到 1.0000 而不是 1.00。如何在 vb.net 中将其转换为 1.00?

SQLDR 是我的 sql 数据阅读器

0 投票
1 回答
3084 浏览

.net - .rdlc 报告中的自定义 .ToString() 格式

我有一个自定义业务对象,它重载了 .ToString() 函数。它还实现了 IFormattable.ToString,因此我可以定义自己的自定义格式。

除了 .rdlc 报告之外,这种方法似乎在我的应用程序中无处不在。例如,我在报表上有一个文本字段,其表达式如下:

“lr”是我创建的自定义格式。运行报告时,我总是得到#Error 作为输出。我在我的 .ToString 函数中放置了断点,并在报告运行时单步执行代码,我知道该函数正在返回正确的值,但报告似乎无法接收和显示它。

0 投票
3 回答
257 浏览

java - 将基于字符串的构造函数添加到 Java 类的最佳方法?

假设我有一些课程,例如 Foo:

现在,我希望添加一个构造函数,它的参数是一个表示 Foo 的字符串,例如 Foo("1 2") 将构造一个 x=1 和 y=2 的 Foo。由于我不想复制原始构造函数中的逻辑,因此我希望能够执行以下操作:

但是,Java 不允许在调用 this(x, y) 之前使用语句。有一些公认的解决方法吗?