diff --git a/core/fxcrt/stl_util.h b/core/fxcrt/stl_util.h
index d4ffde0..7b76f5e 100644
--- a/core/fxcrt/stl_util.h
+++ b/core/fxcrt/stl_util.h
@@ -47,6 +47,10 @@
   return std::vector<T, A>(safe_size.ValueOrDie());
 }
 
+// String that uses partition alloc for backing store.
+using string =
+    std::basic_string<char, std::char_traits<char>, FxStringAllocator<char>>;
+
 // String stream that uses PartitionAlloc for backing store.
 using ostringstream = std::
     basic_ostringstream<char, std::char_traits<char>, FxStringAllocator<char>>;
diff --git a/core/fxcrt/stl_util_unittest.cpp b/core/fxcrt/stl_util_unittest.cpp
index 33b80f2..ab291a3 100644
--- a/core/fxcrt/stl_util_unittest.cpp
+++ b/core/fxcrt/stl_util_unittest.cpp
@@ -6,6 +6,19 @@
 
 #include "testing/gtest/include/gtest/gtest.h"
 
+TEST(STLUtil, string) {
+  fxcrt::string str;
+  str += '2';
+  str += '2';
+  str += "C is ";
+  str += '7';
+  str += '1';
+  str += '.';
+  str += '6';
+  str += "F";
+  EXPECT_STREQ("22C is 71.6F", str.c_str());
+}
+
 TEST(STLUtil, OStringStream) {
   fxcrt::ostringstream str;
   str << 22 << "C is " << 71.6f << "F";
diff --git a/fxjs/cjs_publicmethods.cpp b/fxjs/cjs_publicmethods.cpp
index 39b3b82..dce96c4 100644
--- a/fxjs/cjs_publicmethods.cpp
+++ b/fxjs/cjs_publicmethods.cpp
@@ -21,6 +21,7 @@
 #include "core/fpdfdoc/cpdf_formcontrol.h"
 #include "core/fpdfdoc/cpdf_interactiveform.h"
 #include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/stl_util.h"
 #include "core/fxge/cfx_color.h"
 #include "fpdfsdk/cpdfsdk_formfillenvironment.h"
 #include "fpdfsdk/cpdfsdk_interactiveform.h"
@@ -118,12 +119,12 @@
   // Make sure the number of precision characters will fit.
   iDec = std::min(iDec, std::numeric_limits<double>::digits10);
 
-  std::stringstream ss;
+  fxcrt::ostringstream ss;
   ss << std::fixed << std::setprecision(iDec) << dValue;
-  std::string value = ss.str();
+  fxcrt::string value = ss.str();
   size_t pos = value.find('.');
   *iDec2 = pdfium::base::checked_cast<int>(
-      pos == std::string::npos ? value.size() : pos);
+      pos == fxcrt::string::npos ? value.size() : pos);
   return ByteString(value.c_str());
 }
 #endif
