ToCSharpString outputs floats without a type suffix #76061
Open
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:
- 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