Converti dati numerici come testo in numero con C++

Possibili Scenari di Utilizzo

A volte, desideri convertire i dati numerici inseriti come testo in numeri. Puoi inserire numeri come testo in Microsoft Excel mettendo un apostrofo prima di un numero, ad esempio ‘12345. Excel tratta quindi il numero come una stringa. Aspose.Cells ti consente di convertire le stringhe in numeri.

Come Convertire i numeri memorizzati come testo in numeri in Excel

Puoi convertire i numeri memorizzati come testo in numeri seguendo alcuni semplici passaggi.

  1. Seleziona una singola cella o un intervallo di celle che ha un indicatore di errore nell’angolo in alto a sinistra.
  2. Accanto alla cella o all’intervallo di celle selezionato, fai clic sul pulsante di errore che appare. Nel menu, fai clic su Converti in numero.
  3. Se il pulsante di avviso non è disponibile, seleziona una colonna con questo problema. Se non vuoi convertire l’intera colonna, puoi selezionare una o più celle invece. Assicurati solo che le celle che selezioni siano nella stessa colonna, altrimenti questo processo non funzionerà. Il pulsante Testo in colonne viene generalmente utilizzato per dividere una colonna, ma può anche essere utilizzato per convertire una singola colonna di testo in numeri. Sulla scheda Dati, fai clic su Testo in colonne.
  4. Fai clic sul pulsante Fine nella finestra di dialogo.
  5. I numeri memorizzati come testo vengono trasformati in numeri.

Come convertire numeri memorizzati come testo in numeri usando Aspose.Cells for C++

Aspose.Cells fornisce il metodo Cells.ConvertStringToNumericValue() che può essere utilizzato per convertire tutti i dati numerici di stringhe o testo in numeri.

La seguente immagine mostra numeri di stringa nelle celle A1:A17. I numeri di stringa sono allineati a sinistra.

Questi numeri di stringa sono stati convertiti in numeri utilizzando Cells.ConvertStringToNumericValue() nella schermata seguente. Come puoi vedere, ora sono allineati a destra.

Codice C++ per convertire dati numerici come stringa in numeri effettivi

Il seguente codice di esempio illustra come convertire tutti i dati numerici di stringa in numeri effettivi in tutte le schede.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Instantiate workbook object with an Excel file
    U16String inputFilePath = srcDir + u"SampleBook.xlsx";
    Workbook workbook(inputFilePath);

    // Iterate through all worksheets and convert string values to numeric
    for (int32_t i = 0; i < workbook.GetWorksheets().GetCount(); i++)
    {
        workbook.GetWorksheets().Get(i).GetCells().ConvertStringToNumericValue();
    }

    // Save the Excel file
    U16String outputFilePath = outDir + u"output_out.xlsx";
    workbook.Save(outputFilePath);

    std::cout << "Conversion completed successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}