Added asDouble method to ZString.

This commit is contained in:
Brad Arant 2024-06-15 10:43:41 -07:00
parent beb3673241
commit 1cfdc23a57
5 changed files with 18 additions and 0 deletions

View File

@ -1,6 +1,7 @@
#include "ZString.h" #include "ZString.h"
#include "Log.h" #include "Log.h"
#include "Exception.h" #include "Exception.h"
#include <stdlib.h>
#include <iostream> #include <iostream>
namespace coreutils { namespace coreutils {
@ -106,6 +107,10 @@ namespace coreutils {
return tempInt; return tempInt;
} }
double ZString::asDouble() {
return strtod(cursor, &cursor);
}
int ZString::incrementCursor(int length) { int ZString::incrementCursor(int length) {
char *temp = cursor; char *temp = cursor;
if((cursor + length) > (data + this->length)) if((cursor + length) > (data + this->length))

View File

@ -128,6 +128,13 @@ namespace coreutils {
int asInteger(); int asInteger();
///
/// Return the floating point value of the ZString from the cursor to the first
/// non-numeric character.
///
double asDouble();
/// ///
/// ///
/// ///

Binary file not shown.

Binary file not shown.

View File

@ -4,6 +4,12 @@
int main(int argc, char **argv) { int main(int argc, char **argv) {
// Test floating point reader.
coreutils::ZString pi("3.14159");
double x = pi.asDouble();
std::cout << "pi: " << x << std::endl;
// Test comparison operations. // Test comparison operations.
coreutils::ZString test1("else"); coreutils::ZString test1("else");