diff --git a/src/common/settings.cpp b/src/common/settings.cpp
index 0061e29cca..c56d14b818 100644
--- a/src/common/settings.cpp
+++ b/src/common/settings.cpp
@@ -103,7 +103,7 @@ float Volume() {
     if (values.audio_muted) {
         return 0.0f;
     }
-    return values.volume.GetValue();
+    return values.volume.GetValue() / 100.0f;
 }
 
 void RestoreGlobalState(bool is_powered_on) {
diff --git a/src/common/settings.h b/src/common/settings.h
index bf83186f50..5305f1ed8f 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -278,7 +278,7 @@ struct Values {
     BasicSetting<std::string> sink_id{"auto", "output_engine"};
     BasicSetting<bool> audio_muted{false, "audio_muted"};
     Setting<bool> enable_audio_stretching{true, "enable_audio_stretching"};
-    Setting<float> volume{1.0f, "volume"};
+    Setting<u8> volume{100, "volume"};
 
     // Core
     Setting<bool> use_multi_core{true, "use_multi_core"};
diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp
index 5aba1a3b2f..d8ba939d28 100644
--- a/src/yuzu/configuration/configure_audio.cpp
+++ b/src/yuzu/configuration/configure_audio.cpp
@@ -47,7 +47,8 @@ void ConfigureAudio::SetConfiguration() {
 
     SetAudioDeviceFromDeviceID();
 
-    ui->volume_slider->setValue(Settings::values.volume.GetValue() * ui->volume_slider->maximum());
+    const auto volume_value = Settings::values.volume.GetValue() * ui->volume_slider->maximum();
+    ui->volume_slider->setValue(volume_value / 100);
 
     ui->toggle_audio_stretching->setChecked(Settings::values.enable_audio_stretching.GetValue());
 
@@ -112,18 +113,16 @@ void ConfigureAudio::ApplyConfiguration() {
 
         // Guard if during game and set to game-specific value
         if (Settings::values.volume.UsingGlobal()) {
-            Settings::values.volume.SetValue(
-                static_cast<float>(ui->volume_slider->sliderPosition()) /
-                ui->volume_slider->maximum());
+            const s32 volume = ui->volume_slider->sliderPosition() / ui->volume_slider->maximum();
+            Settings::values.volume.SetValue(static_cast<u8>(100 * volume));
         }
     } else {
         if (ui->volume_combo_box->currentIndex() == 0) {
             Settings::values.volume.SetGlobal(true);
         } else {
             Settings::values.volume.SetGlobal(false);
-            Settings::values.volume.SetValue(
-                static_cast<float>(ui->volume_slider->sliderPosition()) /
-                ui->volume_slider->maximum());
+            const s32 volume = ui->volume_slider->sliderPosition() / ui->volume_slider->maximum();
+            Settings::values.volume.SetValue(static_cast<u8>(100 * volume));
         }
     }
 }
diff --git a/src/yuzu_cmd/default_ini.h b/src/yuzu_cmd/default_ini.h
index cc9850aad0..d2a7cd024f 100644
--- a/src/yuzu_cmd/default_ini.h
+++ b/src/yuzu_cmd/default_ini.h
@@ -281,7 +281,7 @@ enable_audio_stretching =
 output_device =
 
 # Output volume.
-# 1.0 (default): 100%, 0.0; mute
+# 100 (default): 100%, 0; mute
 volume =
 
 [Data Storage]