簡體   English   中英

C ++僅輸出小數點后一位

[英]C++ Only output one decimal place

我有一個設置為4.5的浮點數,但是當我將其渲染到屏幕上時,它顯示為4.500000。 我已經嘗試使用谷歌搜索和搜索stackoverflow,但是所有答案都使用了printf()或std :: cout,由於我不想將其輸出到控制台,因此無法使用。 很抱歉nooby問題,這是代碼:

TextRenderer::render(*window, std::to_string(player->health) + " HP", sf::Vector2f(3, 0), 16, sf::Color(155, 0, 0));

編輯:TextRenderer.cpp

#include "TextRenderer.h"
#include <SFML/Graphics.hpp>
#include <string>
#include "Logger.h"

sf::Font TextRenderer::kavoon = sf::Font();

TextRenderer::TextRenderer()
{
}

TextRenderer::~TextRenderer()
{
}

bool TextRenderer::load() {
    if (!TextRenderer::kavoon.loadFromFile("data/fonts/kavoon.ttf"))
    {
        Logger::error("Couldn't load kavoon font.");
    }
    return true;
}

void TextRenderer::render(sf::RenderWindow& window, std::string string, sf::Vector2f position, int size, sf::Color color) {
    sf::Text text;

    text.setFont(TextRenderer::kavoon);
    text.setString(string);

    text.setPosition(position);

    text.setCharacterSize(size);
    text.setColor(color);

    window.draw(text);
}

您可以使用ostringstream來執行此操作。

ostringstream ss;
ss << player->health;
string health = ss.str();

接着

TextRenderer::render(*window, health + " HP", sf::Vector2f(3, 0), 16, sf::Color(155, 0, 0));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM