Types 使用ToString()方法将(负)双精度值转换为字符串

Types 使用ToString()方法将(负)双精度值转换为字符串,types,c++-cli,tostring,Types,C++ Cli,Tostring,我正在使用ToString方法将双精度值转换为字符串。它适用于正数,但当double为负值时,例如-5,结果字符串为5-。我不知道如何正确使用格式说明符 public: void displaynumber(double x) { richTextBox1->Text = x.ToString(); } 我从读取MSDN on formatting(编译时没有错误)开始尝试使用格式toString,但在运行时遇到了一个异常:格式说明符无效。函数在库中,您可以这样做 #includ

我正在使用ToString方法将双精度值转换为字符串。它适用于正数,但当double为负值时,例如-5,结果字符串为5-。我不知道如何正确使用格式说明符

public: void displaynumber(double x) {
    richTextBox1->Text = x.ToString();
}
我从读取MSDN on formatting(编译时没有错误)开始尝试使用格式toString,但在运行时遇到了一个异常:格式说明符无效。

函数在库中,您可以这样做

#include <string>

public:
    void displaynumber(double x)
    {
        richTextBox1->Text = std::to_string(x);
    }
语法x.ToString意味着ToString是一个double的x方法,没有这样的方法。

x.ToString意味着ToString是一个double数据类型的x方法,根本不应该编译。然而,to_字符串是库中的一个函数

如果是给你5-而不是-5,那可能是因为你的计算机被设置为一种文化,符号在数字后面。你在世界上的什么地方?Windows设置为什么语言

如果您想要-5,那么不管程序运行的区域性是什么,最简单的方法就是指定要使用的区域性。在本例中,我不使用格式说明符,只需在上指定只接受格式提供程序的

richTextBox1->Text = x.ToString(CultureInfo::InvariantCulture);

x、 ToString实际上是有效的。。。它返回正确的字符串..即使x为负。。。问题出在richTexBox1中,当它实际在表单上显示文本/字符串时,它会在数字后加上负号。但是如果我只查看watch变量,richTextBox1的文本值实际上显示了正确的字符串。。即使是负数。。即当x=-56时,文本将为-56。。但是当它显示在窗体上时。。它变成56-

这是另一个调试或问题的主题。
感谢所有试图提供帮助的人。

此ToString方法是什么?你有相关的文件吗?它是哪个图书馆的一部分?你确定这是C++吗?我不明白一个double怎么可能有一个成员函数。你用的是C吗?MSDN站点上的很多代码都是用C语言编写的。不,我没有用C。我在工作中使用C相当多,但我用C++来教我的孩子,并在这一点上跌跌撞撞。ToString方法是系统的一部分。。。下面是描述……哎呀。。时间不多了。。此方法大约有15个重载..虚拟系统::字符串^System::Double::ToString系统::字符串^format。。。使用指定的格式将此实例的数值转换为其等效的字符串表示形式。我理解您的意思,但这适用于x的正值或负值,唯一的问题是负值,显示的字符串在字符串末尾有负值。。例如5-而不是-5。字符串值本身是正确的,只是错误地放置了负值符号。我向您保证,如果您使用的是标准C++,那么x.toString将不会编译任何x值。如果您使用的是其他语言或某些扩展,可能是C++/CLI?然后你应该提到,我使用Visual C++ 2005 Express。对是CLI,我在圣地亚哥县。我尝试在括号中插入CultureInfo::InvariantCulture,但它在编译时抱怨说找不到CultureInfo,请使用命名空间System::Globalization;。否则,请不要让我猜错误消息是什么。x.ToString实际上可以工作。。。它返回正确的字符串..即使x为负。。。问题出在richTexBox1中,当它实际在表单上显示文本/字符串时,它会在数字后加上负号。但是如果我只查看watch变量,richTextBox1的文本值实际上显示了正确的字符串。。即使是负数。。即当x=-56时,文本将为-56。。但是当它显示在窗体上时。。现在是56岁-
richTextBox1->Text = x.ToString(CultureInfo::InvariantCulture);