关于浮点型数据转换为字符串类型,字符串自动以科学计数法型式显示,有什么好办法?

时间:2022-05-24 14:43:03
Double型数据  比如 Double d=0.0000006 ;
string a=Convert.ToDouble(d);

这时候取a的值是 '6E-7',有什么好办法可以取字符型a的值得时候还是'0.0000006'

18 个解决方案

#1


没人用过?

#2


string a=Convert.ToString(d);

#3


?
Double d=0.0000006
string s = d.ToString();

#4


brightheroes

这样转换后 s的值是 '6E-7'

#5


:)
晕,我没有试过,Sorry

#6


Double d=0.0000006
string s=d.Tostring("F");
我是按照vb.net代码改过来的,不知道可不可以!

#7


ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconstandardnumericformatstrings.htm

#8



d.ToString("F");

#9


晕,机器没装msdn
麻烦那为兄弟帮我查一下

#10


.NET Framework 类库   

Double.ToString 方法请参见
Double 结构 | Double 成员 | System 命名空间 | C++ 托管扩展编程 
语言
C#

C++

JScript

Visual Basic

全部显示
将此实例的数值转换为其等效的字符串表示。

重载列表
将此实例的数值转换为其等效的字符串表示。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Overrides Public Function ToString() As String
[C#] public override string ToString();
[C++] public: String* ToString();
[JScript] public override function ToString() : String;
使用指定的区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Overridable Function ToString(IFormatProvider) As String
[C#] public virtual string ToString(IFormatProvider);
[C++] public: virtual String* ToString(IFormatProvider*);
[JScript] public function ToString(IFormatProvider) : String;
使用指定的格式,将此实例的数值转换为它的等效字符串表示形式。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Function ToString(String) As String
[C#] public string ToString(string);
[C++] public: String* ToString(String*);
[JScript] public function ToString(String) : String;
使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Overridable Function ToString(String, IFormatProvider) As String
[C#] public virtual string ToString(string, IFormatProvider);
[C++] public: virtual String* ToString(String*, IFormatProvider*);
[JScript] public function ToString(String, IFormatProvider) : String;
示例
[Visual Basic, C#, JScript] 下面的代码示例通过获取 String 和 IFormatProvider 作为参数来说明 ToString 的用法:

[Visual Basic, C#, JScript] 注意   此示例显示如何使用 ToString 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
[Visual Basic] 
Public Class Temperature
    Implements IFormattable

    Public Overloads Function ToString(ByVal format As String, ByVal provider As IFormatProvider) As String _
        Implements IFormattable.ToString

        If Not (format Is Nothing) Then
            If format.Equals("F") Then
                Return [String].Format("{0}'F", Me.Value.ToString())
            End If
            If format.Equals("C") Then
                Return [String].Format("{0}'C", Me.Celsius.ToString())
            End If
        End If

        Return m_value.ToString(format, provider)
    End Function

    ' The value holder
    Protected m_value As Double

    Public Property Value() As Double
        Get
            Return m_value
        End Get
        Set(ByVal Value As Double)
            m_value = Value
        End Set
    End Property

    Public Property Celsius() As Double
        Get
            Return (m_value - 32) / 1.8
        End Get
        Set(ByVal Value As Double)
            m_value = Value * 1.8 + 32
        End Set
    End Property
End Class

[C#] 
public class Temperature : IFormattable {
    /// <summary>
    /// IFormattable.ToString implementation.
    /// </summary>
    public string ToString(string format, IFormatProvider provider) {
        if( format != null ) {
            if( format.Equals("F") ) {
                return String.Format("{0}'F", this.Value.ToString());
            }
            if( format.Equals("C") ) {
                return String.Format("{0}'C", this.Celsius.ToString());
            }
        }

        return m_value.ToString(format, provider);
    }

    // The value holder
    protected double m_value;

    public double Value {
        get {
            return m_value;
        }
        set {
            m_value = value;
        }
    }

    public double Celsius {
        get {
            return (m_value-32.0)/1.8;
        }
        set {
            m_value = 1.8*value+32.0;
        }
    }
}

[JScript] 
public class Temperature implements IFormattable {
    /// <summary>
    /// IFormattable.ToString implementation.
    /// </summary>
    public function ToString(format : String, provider : IFormatProvider) : String {
        if( format != null ) {
            if( format.Equals("F") ) {
                return String.Format("{0}'F", this.Value.ToString());
            }
            if( format.Equals("C") ) {
                return String.Format("{0}'C", this.Celsius.ToString());
            }
        }

        return m_value.ToString(format, provider);
    }

    // The value holder
    protected var m_value : double;

    public function get Value() : double{
        return m_value;
    }
    
            public function set Value(value : double) {
        m_value = value;
    }

    public function get Celsius() : double {
        return (m_value-32.0)/1.8;
            }
            
            public function set Celsius(value : double) {
        m_value = 1.8*value+32.0;
    }
}

[C++] 没有可用于 C++ 的示例。若要查看 Visual Basic、C# 或 JScript 示例,请单击页左上角的“语言筛选器”按钮 。

请参见
Double 结构 | Double 成员 | System 命名空间 | C++ 托管扩展编程 


--------------------------------------------------------------------------------

发送有关此主题的意见 

&copy; 2001-2002 Microsoft Corporation。保留所有权利。 

#11


Double d=0.0000006
string s=d.Tostring("F");
s的值是'0.00'  

不对啊

#12


double d = 0.0000006;

string s = d.ToString("F10");

给它指定位数即可

#13


直接ToString("F")
系统默认四舍五入保留小数点后2位,晕。

#14


这个最好用decimal来中转

double d = 1.50900541;

decimal c = new decimal(d);


string s = c.ToString();

MessageBox.Show(s);

这样就没有问题了

#15


study

#16


Double d=0.0000006 ;
string a=Convert.ToString(d);

#17


to: brightheroes(闭关|那一剑的风情)
刚才我问了一个类似的问题,我以为都解决了,但是对于double的值为1.0的时候如何转换的没解决,请问有何好的方法?

#18


比较麻烦,我也没有什么好的方法,这也太智能了吧......

#1


没人用过?

#2


string a=Convert.ToString(d);

#3


?
Double d=0.0000006
string s = d.ToString();

#4


brightheroes

这样转换后 s的值是 '6E-7'

#5


:)
晕,我没有试过,Sorry

#6


Double d=0.0000006
string s=d.Tostring("F");
我是按照vb.net代码改过来的,不知道可不可以!

#7


ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconstandardnumericformatstrings.htm

#8



d.ToString("F");

#9


晕,机器没装msdn
麻烦那为兄弟帮我查一下

#10


.NET Framework 类库   

Double.ToString 方法请参见
Double 结构 | Double 成员 | System 命名空间 | C++ 托管扩展编程 
语言
C#

C++

JScript

Visual Basic

全部显示
将此实例的数值转换为其等效的字符串表示。

重载列表
将此实例的数值转换为其等效的字符串表示。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Overrides Public Function ToString() As String
[C#] public override string ToString();
[C++] public: String* ToString();
[JScript] public override function ToString() : String;
使用指定的区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Overridable Function ToString(IFormatProvider) As String
[C#] public virtual string ToString(IFormatProvider);
[C++] public: virtual String* ToString(IFormatProvider*);
[JScript] public function ToString(IFormatProvider) : String;
使用指定的格式,将此实例的数值转换为它的等效字符串表示形式。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Function ToString(String) As String
[C#] public string ToString(string);
[C++] public: String* ToString(String*);
[JScript] public function ToString(String) : String;
使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Overridable Function ToString(String, IFormatProvider) As String
[C#] public virtual string ToString(string, IFormatProvider);
[C++] public: virtual String* ToString(String*, IFormatProvider*);
[JScript] public function ToString(String, IFormatProvider) : String;
示例
[Visual Basic, C#, JScript] 下面的代码示例通过获取 String 和 IFormatProvider 作为参数来说明 ToString 的用法:

[Visual Basic, C#, JScript] 注意   此示例显示如何使用 ToString 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
[Visual Basic] 
Public Class Temperature
    Implements IFormattable

    Public Overloads Function ToString(ByVal format As String, ByVal provider As IFormatProvider) As String _
        Implements IFormattable.ToString

        If Not (format Is Nothing) Then
            If format.Equals("F") Then
                Return [String].Format("{0}'F", Me.Value.ToString())
            End If
            If format.Equals("C") Then
                Return [String].Format("{0}'C", Me.Celsius.ToString())
            End If
        End If

        Return m_value.ToString(format, provider)
    End Function

    ' The value holder
    Protected m_value As Double

    Public Property Value() As Double
        Get
            Return m_value
        End Get
        Set(ByVal Value As Double)
            m_value = Value
        End Set
    End Property

    Public Property Celsius() As Double
        Get
            Return (m_value - 32) / 1.8
        End Get
        Set(ByVal Value As Double)
            m_value = Value * 1.8 + 32
        End Set
    End Property
End Class

[C#] 
public class Temperature : IFormattable {
    /// <summary>
    /// IFormattable.ToString implementation.
    /// </summary>
    public string ToString(string format, IFormatProvider provider) {
        if( format != null ) {
            if( format.Equals("F") ) {
                return String.Format("{0}'F", this.Value.ToString());
            }
            if( format.Equals("C") ) {
                return String.Format("{0}'C", this.Celsius.ToString());
            }
        }

        return m_value.ToString(format, provider);
    }

    // The value holder
    protected double m_value;

    public double Value {
        get {
            return m_value;
        }
        set {
            m_value = value;
        }
    }

    public double Celsius {
        get {
            return (m_value-32.0)/1.8;
        }
        set {
            m_value = 1.8*value+32.0;
        }
    }
}

[JScript] 
public class Temperature implements IFormattable {
    /// <summary>
    /// IFormattable.ToString implementation.
    /// </summary>
    public function ToString(format : String, provider : IFormatProvider) : String {
        if( format != null ) {
            if( format.Equals("F") ) {
                return String.Format("{0}'F", this.Value.ToString());
            }
            if( format.Equals("C") ) {
                return String.Format("{0}'C", this.Celsius.ToString());
            }
        }

        return m_value.ToString(format, provider);
    }

    // The value holder
    protected var m_value : double;

    public function get Value() : double{
        return m_value;
    }
    
            public function set Value(value : double) {
        m_value = value;
    }

    public function get Celsius() : double {
        return (m_value-32.0)/1.8;
            }
            
            public function set Celsius(value : double) {
        m_value = 1.8*value+32.0;
    }
}

[C++] 没有可用于 C++ 的示例。若要查看 Visual Basic、C# 或 JScript 示例,请单击页左上角的“语言筛选器”按钮 。

请参见
Double 结构 | Double 成员 | System 命名空间 | C++ 托管扩展编程 


--------------------------------------------------------------------------------

发送有关此主题的意见 

&copy; 2001-2002 Microsoft Corporation。保留所有权利。 

#11


Double d=0.0000006
string s=d.Tostring("F");
s的值是'0.00'  

不对啊

#12


double d = 0.0000006;

string s = d.ToString("F10");

给它指定位数即可

#13


直接ToString("F")
系统默认四舍五入保留小数点后2位,晕。

#14


这个最好用decimal来中转

double d = 1.50900541;

decimal c = new decimal(d);


string s = c.ToString();

MessageBox.Show(s);

这样就没有问题了

#15


study

#16


Double d=0.0000006 ;
string a=Convert.ToString(d);

#17


to: brightheroes(闭关|那一剑的风情)
刚才我问了一个类似的问题,我以为都解决了,但是对于double的值为1.0的时候如何转换的没解决,请问有何好的方法?

#18


比较麻烦,我也没有什么好的方法,这也太智能了吧......