@@ -402,13 +402,10 @@ func jsonPath(query, toMatch string) interface{} {
402402
403403 // Jsonpath library converts large int into a string with scientific notion, the following
404404 // reverts that process to avoid mismatching when using the jsonpath result for csv data lookup
405- // Handle large integers in scientific notation by converting back to big.Int
406- if isScientific (result ) {
407- // If result is in scientific notation, try converting to a big.Int
408- bigInt := new (big.Int )
409- bigInt , success := bigIntFromString (result )
410- if success {
411- result = bigInt .String () // Convert back to string representation of the big integer
405+ if containScientificNotation (result ) {
406+ plainNotation , ok := convertToPlainNotation (result )
407+ if ok {
408+ result = plainNotation
412409 }
413410 }
414411
@@ -425,24 +422,17 @@ func jsonPath(query, toMatch string) interface{} {
425422}
426423
427424// isScientific checks if a string is in scientific notation (e.g., "1.349599e+37")
428- func isScientific (value string ) bool {
425+ func containScientificNotation (value string ) bool {
429426 return strings .Contains (value , "e" ) || strings .Contains (value , "E" )
430427}
431428
432- // bigIntFromString converts a string representing a number (potentially in scientific notation) to big.Int
433- func bigIntFromString (value string ) (* big.Int , bool ) {
434- // Parse the string as a big.Float to handle scientific notation
435- flt := new (big.Float )
436- flt , _ , err := big .ParseFloat (value , 10 , 0 , big .ToNearestEven )
429+ func convertToPlainNotation (scientific string ) (string , bool ) {
430+ floatVal , _ , err := big .ParseFloat (scientific , 10 , 0 , big .ToNearestEven )
437431 if err != nil {
438- return nil , false
432+ return scientific , false
439433 }
440434
441- // Convert the big.Float to big.Int (rounding down)
442- bigInt := new (big.Int )
443- flt .Int (bigInt )
444-
445- return bigInt , true
435+ return floatVal .Text ('f' , - 1 ) , true
446436}
447437
448438func xPath (query , toMatch string ) string {
0 commit comments