J'ai créé un programme pour lire/écrire avec des données d'un autre programme. Je définis une valeur de 7 (de type memory real) dans le programme, puis quand je lis la valeur dans Visual Studio, il me donne une chaîne 7.0000000000000
. J'ai donc créé cet extrait de conversion qui fonctionne pour les données de type int qui me donne aussi une chaîne en VS. Je ne connais pas la différence entre ces 2 types de données mais logiquement si les deux types de données me donnent une chaîne, je devrais être capable d'exécuter ce code. Pourquoi les données réelles de la mémoire saute le si ici?int à inconnu à la question de la double conversion
if (Regex.IsMatch(value, "^[0-9 ]+$"))
{
ValueBox.Text = Double.Parse(value).ToString();
}
else
{
ValueBox.Text = value;
}
EDIT: J'utilise 2 dll données, je crois qu'il ya un problème de conversion dans le dll, mais mon code devrait encore travail.
EDIT 2: Ce code est une partie de mon programme, la valeur et d'autres variables sont déjà définies
Avez-vous essayé de reproduire ce localement dans la fonction? c'est-à-dire déclarer et initialiser 'value' avant la condition? Cela pourrait aider à voir quel est le problème. – jheddings
Vous autorisez un espace dans la regex. – Paparazzi
@Blam pourriez-vous s'il vous plaît être plus précis? –