Skip to content

ToCSharpString outputs floats without a type suffix #76061

Open
@DanJBower

Description

Version Used:

<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" PrivateAssets="all" />

Steps to Reproduce:

  1. Use ToCSharpString on any TypedConstant that represents a float

Expected Behavior:

It produces a string that represents the float and could be used to initialise a new float in C#, i.e., 0.5f

Actual Behavior:

It produces a string without a type suffix, i.e., 0.5

Use case:

I'm creating a source generator that generates source code based on NamedArguments in AttributeData. When the named argument's value is retrieved, I use arg[x].Value.ToCSharpString() to turn the value into a string to place in the generated code and the string being generated for floats is causing compile errors

Metadata

Assignees

No one assigned

    Labels

    Area-Compilershelp wantedThe issue is "up for grabs" - add a comment if you are interested in working on ituntriagedIssues and PRs which have not yet been triaged by a lead

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions